Skip to content

Commit

Permalink
gstreamer1.0-plugins-good: update patches to apply on 1.20 version
Browse files Browse the repository at this point in the history
:Release Notes:

:Detailed Notes:
Use striplevel=3, because now the patches are generated from new monorepo
https://gitlab.freedesktop.org/gstreamer/gstreamer
instead of older
https://gitlab.freedesktop.org/gstreamer/gst-plugins-good
which doesn't have 1.20.0 version

Fixes:
http://gecko.lge.com/Errors/Details/347053

ERROR: Applying patch '0001-v4l2-fix-buffer-pool-poll-wait-after-flush.patch' on target directory 'TOPDIR/BUILD/work/raspberrypi4-webos-linux-gnueabi/gstreamer1.0-plugins-good/1.20.0-r0/gst-plugins-good-1.20.0'
CmdError('quilt --quiltrc TOPDIR/BUILD/work/raspberrypi4-webos-linux-gnueabi/gstreamer1.0-plugins-good/1.20.0-r0/recipe-sysroot-native/etc/quiltrc push', 0, 'stdout: Applying patch 0001-v4l2-fix-buffer-pool-poll-wait-after-flush.patch
patching file sys/v4l2/gstv4l2allocator.c
patching file sys/v4l2/gstv4l2object.c
Hunk #1 succeeded at 4453 (offset 81 lines).
patching file sys/v4l2/gstv4l2transform.c
Hunk #1 succeeded at 935 (offset 1 line).
Hunk #2 succeeded at 1017 (offset 3 lines).
patching file sys/v4l2/gstv4l2videodec.c
Hunk #2 FAILED at 533.
Hunk #3 succeeded at 775 (offset 33 lines).
1 out of 3 hunks FAILED -- rejects in file sys/v4l2/gstv4l2videodec.c
Patch 0001-v4l2-fix-buffer-pool-poll-wait-after-flush.patch does not apply (enforce with -f)

stderr: ')

:Testing Performed:
Only build tested.

:QA Notes:
No change to image.

:Issues Addressed:
[WRO-12999] CCC: Upgrade to Yocto 4.0 Kirkstone
[WRN-9820] Create GPVB with Yocto 4.0 Kirkstone

Change-Id: I2656d823796bbfd86c03c1e4ee225f3a2e812e9e
  • Loading branch information
shr-project authored and Hyunjae Shin committed Oct 6, 2022
1 parent e204e6f commit 2457563
Show file tree
Hide file tree
Showing 4 changed files with 53 additions and 60 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From a55669dd33e4600e7aefd2b1936449c5baab5750 Mon Sep 17 00:00:00 2001
From 17d31d8f03e471c6d91429356b5bd6ba1ad671f6 Mon Sep 17 00:00:00 2001
From: Pankaj Maharana <[email protected]>
Date: Tue, 10 Dec 2019 16:38:26 +0530
Subject: [PATCH] v4l2: fix buffer pool poll wait after flush
Expand Down Expand Up @@ -33,16 +33,16 @@ Tested the 1080p video plays with 22fps in raspberrypi4

Upstream-Status: Unknown
---
sys/v4l2/gstv4l2allocator.c | 2 +-
sys/v4l2/gstv4l2object.c | 1 +
sys/v4l2/gstv4l2transform.c | 15 +++++++++++----
sys/v4l2/gstv4l2videodec.c | 35 ++++++++++++++++++++---------------
4 files changed, 33 insertions(+), 20 deletions(-)
.../sys/v4l2/gstv4l2allocator.c | 2 +-
.../gst-plugins-good/sys/v4l2/gstv4l2object.c | 1 +
.../sys/v4l2/gstv4l2transform.c | 15 +++++---
.../sys/v4l2/gstv4l2videodec.c | 34 +++++++++++--------
4 files changed, 33 insertions(+), 19 deletions(-)

diff --git a/sys/v4l2/gstv4l2allocator.c b/sys/v4l2/gstv4l2allocator.c
index e82a8532d..bac75d286 100644
--- a/sys/v4l2/gstv4l2allocator.c
+++ b/sys/v4l2/gstv4l2allocator.c
diff --git a/subprojects/gst-plugins-good/sys/v4l2/gstv4l2allocator.c b/subprojects/gst-plugins-good/sys/v4l2/gstv4l2allocator.c
index e82a8532d6..bac75d286a 100644
--- a/subprojects/gst-plugins-good/sys/v4l2/gstv4l2allocator.c
+++ b/subprojects/gst-plugins-good/sys/v4l2/gstv4l2allocator.c
@@ -375,7 +375,7 @@ gst_v4l2_allocator_release (GstV4l2Allocator * allocator, GstV4l2Memory * mem)
}

Expand All @@ -52,23 +52,23 @@ index e82a8532d..bac75d286 100644
}

static void
diff --git a/sys/v4l2/gstv4l2object.c b/sys/v4l2/gstv4l2object.c
index 1e96cb9d6..9ea214adb 100644
--- a/sys/v4l2/gstv4l2object.c
+++ b/sys/v4l2/gstv4l2object.c
@@ -4372,6 +4372,7 @@ gst_v4l2_object_stop (GstV4l2Object * v4l2object)
diff --git a/subprojects/gst-plugins-good/sys/v4l2/gstv4l2object.c b/subprojects/gst-plugins-good/sys/v4l2/gstv4l2object.c
index 9eb3b8e181..d6c5a5f050 100644
--- a/subprojects/gst-plugins-good/sys/v4l2/gstv4l2object.c
+++ b/subprojects/gst-plugins-good/sys/v4l2/gstv4l2object.c
@@ -4453,6 +4453,7 @@ gst_v4l2_object_stop (GstV4l2Object * v4l2object)
GST_V4L2_SET_INACTIVE (v4l2object);

done:
+ GST_DEBUG_OBJECT (v4l2object->dbg_obj, "stopped");
return TRUE;
}

diff --git a/sys/v4l2/gstv4l2transform.c b/sys/v4l2/gstv4l2transform.c
index cc5564d44..a640b5c16 100644
--- a/sys/v4l2/gstv4l2transform.c
+++ b/sys/v4l2/gstv4l2transform.c
@@ -934,8 +934,10 @@ gst_v4l2_transform_prepare_output_buffer (GstBaseTransform * trans,
diff --git a/subprojects/gst-plugins-good/sys/v4l2/gstv4l2transform.c b/subprojects/gst-plugins-good/sys/v4l2/gstv4l2transform.c
index edb3203630..5d3ed615f4 100644
--- a/subprojects/gst-plugins-good/sys/v4l2/gstv4l2transform.c
+++ b/subprojects/gst-plugins-good/sys/v4l2/gstv4l2transform.c
@@ -935,8 +935,10 @@ gst_v4l2_transform_prepare_output_buffer (GstBaseTransform * trans,
do {
pool = gst_base_transform_get_buffer_pool (trans);

Expand All @@ -81,7 +81,7 @@ index cc5564d44..a640b5c16 100644

GST_DEBUG_OBJECT (self, "Dequeue output buffer");
ret = gst_buffer_pool_acquire_buffer (pool, outbuf, NULL);
@@ -1012,10 +1014,15 @@ gst_v4l2_transform_sink_event (GstBaseTransform * trans, GstEvent * event)
@@ -1015,10 +1017,15 @@ gst_v4l2_transform_sink_event (GstBaseTransform * trans, GstEvent * event)
GST_DEBUG_OBJECT (self, "flush stop");
gst_v4l2_object_unlock_stop (self->v4l2capture);
gst_v4l2_object_unlock_stop (self->v4l2output);
Expand All @@ -99,10 +99,10 @@ index cc5564d44..a640b5c16 100644
break;
default:
break;
diff --git a/sys/v4l2/gstv4l2videodec.c b/sys/v4l2/gstv4l2videodec.c
index 8c06c9013..735464698 100644
--- a/sys/v4l2/gstv4l2videodec.c
+++ b/sys/v4l2/gstv4l2videodec.c
diff --git a/subprojects/gst-plugins-good/sys/v4l2/gstv4l2videodec.c b/subprojects/gst-plugins-good/sys/v4l2/gstv4l2videodec.c
index abd01333cb..562b304777 100644
--- a/subprojects/gst-plugins-good/sys/v4l2/gstv4l2videodec.c
+++ b/subprojects/gst-plugins-good/sys/v4l2/gstv4l2videodec.c
@@ -331,33 +331,37 @@ gst_v4l2_video_dec_flush (GstVideoDecoder * decoder)

GST_DEBUG_OBJECT (self, "Flushed");
Expand All @@ -129,29 +129,29 @@ index 8c06c9013..735464698 100644
gst_v4l2_object_unlock_stop (self->v4l2capture);

+ /* Ensure our internal pools are flushed properly*/
+ if (self->v4l2output->pool)
+ gst_buffer_pool_set_active (self->v4l2output->pool, FALSE);
+
+ if (self->v4l2capture->pool)
+ gst_buffer_pool_set_active (self->v4l2capture->pool, FALSE);
+
+ self->output_flow = GST_FLOW_OK;
+
+ /* Ensure our internal pools are reactivated properly*/
if (self->v4l2output->pool)
- gst_v4l2_buffer_pool_flush (self->v4l2output->pool);
+ gst_buffer_pool_set_active (self->v4l2output->pool, FALSE);
+ gst_buffer_pool_set_active (self->v4l2output->pool, TRUE);

- /* gst_v4l2_buffer_pool_flush() calls streamon the capture pool and must be
- * called after gst_v4l2_object_unlock_stop() stopped flushing the buffer
- * pool. */
if (self->v4l2capture->pool)
- gst_v4l2_buffer_pool_flush (self->v4l2capture->pool);
+ gst_buffer_pool_set_active (self->v4l2capture->pool, FALSE);
+
+ self->output_flow = GST_FLOW_OK;
+
+ /* Ensure our internal pools are reactivated properly*/
+ if (self->v4l2output->pool)
+ gst_buffer_pool_set_active (self->v4l2output->pool, TRUE);
+
+ if (self->v4l2capture->pool)
+ gst_buffer_pool_set_active (self->v4l2capture->pool, TRUE);

return TRUE;
}
@@ -529,14 +533,13 @@ gst_v4l2_video_dec_loop (GstVideoDecoder * decoder)
@@ -525,7 +529,7 @@ gst_v4l2_video_dec_loop (GstVideoDecoder * decoder)
}

ret = gst_buffer_pool_acquire_buffer (pool, &buffer, NULL);
Expand All @@ -160,14 +160,7 @@ index 8c06c9013..735464698 100644

if (ret != GST_FLOW_OK)
goto beach;

GST_LOG_OBJECT (decoder, "Process output buffer");
ret = gst_v4l2_buffer_pool_process (v4l2_pool, &buffer);
-
} while (ret == GST_V4L2_FLOW_CORRUPTED_BUFFER);

if (ret != GST_FLOW_OK)
@@ -738,9 +741,11 @@ gst_v4l2_video_dec_handle_frame (GstVideoDecoder * decoder,
@@ -771,9 +775,11 @@ gst_v4l2_video_dec_handle_frame (GstVideoDecoder * decoder,
}

/* Ensure our internal pool is activated */
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
From 5265c6c37c21d0d07b5224c937f3996fad5a8a81 Mon Sep 17 00:00:00 2001
From 52d66651e0b45a266cfb4a56c8d88e5466b0c14d Mon Sep 17 00:00:00 2001
From: "sapna.kumari" <[email protected]>
Date: Thu, 27 Aug 2020 06:39:27 +0000
Subject: [PATCH] Fix v4l2h264dec output caps to RGB16

gstreamer1.0-plugins-good=webosrpi3
---
sys/v4l2/gstv4l2videodec.c | 25 +++++++++++++++++++++++++
.../sys/v4l2/gstv4l2videodec.c | 25 +++++++++++++++++++
1 file changed, 25 insertions(+)

diff --git a/sys/v4l2/gstv4l2videodec.c b/sys/v4l2/gstv4l2videodec.c
index 735464698..ea1bf6168 100644
--- a/sys/v4l2/gstv4l2videodec.c
+++ b/sys/v4l2/gstv4l2videodec.c
@@ -719,6 +719,31 @@ gst_v4l2_video_dec_handle_frame (GstVideoDecoder * decoder,
diff --git a/subprojects/gst-plugins-good/sys/v4l2/gstv4l2videodec.c b/subprojects/gst-plugins-good/sys/v4l2/gstv4l2videodec.c
index 562b304777..b3d4b693c1 100644
--- a/subprojects/gst-plugins-good/sys/v4l2/gstv4l2videodec.c
+++ b/subprojects/gst-plugins-good/sys/v4l2/gstv4l2videodec.c
@@ -753,6 +753,31 @@ gst_v4l2_video_dec_handle_frame (GstVideoDecoder * decoder,

GST_DEBUG_OBJECT (self, "Chosen decoded caps: %" GST_PTR_FORMAT, caps);

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From 4e5e8ac16aa4849ec986763ffeae138ad7fe38d8 Mon Sep 17 00:00:00 2001
From daca416415180b6a6a6d0b894627435dde81d0ae Mon Sep 17 00:00:00 2001
From: Jaehoon Lee <[email protected]>
Date: Thu, 28 Jan 2021 15:02:02 +0900
Subject: [PATCH] Fix v4l2dec flush for video loop playback
Expand All @@ -20,13 +20,13 @@ Tested in raspberrypi4
[PLAT-127537] [OSE] Video loop attribute
does not work for ose
---
sys/v4l2/gstv4l2videodec.c | 22 +++++++---------------
.../sys/v4l2/gstv4l2videodec.c | 22 ++++++-------------
1 file changed, 7 insertions(+), 15 deletions(-)

diff --git a/sys/v4l2/gstv4l2videodec.c b/sys/v4l2/gstv4l2videodec.c
index ea1bf6168..3a8d31b43 100644
--- a/sys/v4l2/gstv4l2videodec.c
+++ b/sys/v4l2/gstv4l2videodec.c
diff --git a/subprojects/gst-plugins-good/sys/v4l2/gstv4l2videodec.c b/subprojects/gst-plugins-good/sys/v4l2/gstv4l2videodec.c
index b3d4b693c1..19cd025a70 100644
--- a/subprojects/gst-plugins-good/sys/v4l2/gstv4l2videodec.c
+++ b/subprojects/gst-plugins-good/sys/v4l2/gstv4l2videodec.c
@@ -331,37 +331,29 @@ gst_v4l2_video_dec_flush (GstVideoDecoder * decoder)

GST_DEBUG_OBJECT (self, "Flushed");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ EXTENDPRAUTO:append:rpi = "webosrpi4"
FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"

SRC_URI:append:raspberrypi4 = " \
file://0001-v4l2-fix-buffer-pool-poll-wait-after-flush.patch \
file://0002-Fix-v4l2h264dec-output-caps-to-RGB16.patch \
file://0003-Fix-v4l2dec-flush-for-video-loop-playback.patch \
file://0001-v4l2-fix-buffer-pool-poll-wait-after-flush.patch;striplevel=3 \
file://0002-Fix-v4l2h264dec-output-caps-to-RGB16.patch;striplevel=3 \
file://0003-Fix-v4l2dec-flush-for-video-loop-playback.patch;striplevel=3 \
"

PACKAGECONFIG:append:raspberrypi4 = " libv4l2"

0 comments on commit 2457563

Please sign in to comment.