Skip to content

Commit

Permalink
gstreamer*: rename bbappends to match new 1.18.0 version from oe-core
Browse files Browse the repository at this point in the history
:Release Notes:
See
https://git.openembedded.org/openembedded-core/commit/?id=4d74baf4f56771215bc6350bfb37d24d327ab91b
and following commits.

:Detailed Notes:
Remove patches which doesn't apply and aren't mandatory for build testing
this - leave that to multimedia team to resolve (they don't even have proper
git headers making it annoying to work with).
Update the other patches to apply to resolve build issues (e.g. gstreamer1.0
patch is needed by g-media-pipeline.

:Testing Performed:
Only build tested.

:QA Notes:
No change to image.

:Issues Addressed:
[PLAT-124341] Create GPVB with Yocto 3.3 Hardknott

Change-Id: I820449f47a544dcf73c95a96e3ac0df0724afaf7
  • Loading branch information
shr-project committed Nov 6, 2020
1 parent 6c76df0 commit 3f80223
Show file tree
Hide file tree
Showing 16 changed files with 87 additions and 61 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From 3381f78b7482f35695a58843b18a9ef48ffd5b40 Mon Sep 17 00:00:00 2001
From d8e81ff9b9be0c66a68980621c2ceb3b079130bb Mon Sep 17 00:00:00 2001
From: Pankaj Maharana <[email protected]>
Date: Wed, 8 Aug 2018 12:01:02 +0530
Subject: [PATCH] fix adaptive resolution change in seek issue
Expand Down Expand Up @@ -29,18 +29,18 @@ Upstream-Status: Inappropriate
2 files changed, 31 insertions(+), 13 deletions(-)

diff --git a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c
index 812eb29..9e347b3 100644
index dc39c4c..e54e83a 100644
--- a/omx/gstomxvideodec.c
+++ b/omx/gstomxvideodec.c
@@ -86,6 +86,7 @@ enum
@@ -88,6 +88,7 @@ enum
{
PROP_0,
PROP_INTERNAL_ENTROPY_BUFFERS,
+ PROP_EXTERNAL_FLUSH_IN_DRAIN,
};

#define GST_OMX_VIDEO_DEC_INTERNAL_ENTROPY_BUFFERS_DEFAULT (5)
@@ -104,16 +105,16 @@ static void
@@ -106,16 +107,16 @@ static void
gst_omx_video_dec_set_property (GObject * object, guint prop_id,
const GValue * value, GParamSpec * pspec)
{
Expand All @@ -60,7 +60,7 @@ index 812eb29..9e347b3 100644
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -124,16 +125,16 @@ static void
@@ -126,16 +127,16 @@ static void
gst_omx_video_dec_get_property (GObject * object, guint prop_id,
GValue * value, GParamSpec * pspec)
{
Expand All @@ -80,7 +80,7 @@ index 812eb29..9e347b3 100644
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -162,6 +163,11 @@ gst_omx_video_dec_class_init (GstOMXVideoDecClass * klass)
@@ -164,6 +165,11 @@ gst_omx_video_dec_class_init (GstOMXVideoDecClass * klass)
GST_PARAM_MUTABLE_READY));
#endif

Expand All @@ -92,7 +92,7 @@ index 812eb29..9e347b3 100644
element_class->change_state =
GST_DEBUG_FUNCPTR (gst_omx_video_dec_change_state);

@@ -2538,15 +2544,17 @@ gst_omx_video_dec_set_format (GstVideoDecoder * decoder,
@@ -2786,15 +2792,17 @@ gst_omx_video_dec_set_format (GstVideoDecoder * decoder,
}

if (needs_disable && is_format_change) {
Expand All @@ -112,9 +112,9 @@ index 812eb29..9e347b3 100644

+skip_disable:
port_def.format.video.nFrameWidth = info->width;
port_def.format.video.nFrameHeight = info->height;
port_def.format.video.nFrameHeight = GST_VIDEO_INFO_FIELD_HEIGHT (info);
port_def.format.video.xFramerate = framerate_q16;
@@ -2731,7 +2739,8 @@ gst_omx_video_dec_handle_frame (GstVideoDecoder * decoder,
@@ -2984,7 +2992,8 @@ gst_omx_video_dec_handle_frame (GstVideoDecoder * decoder,
return GST_FLOW_OK;
}

Expand All @@ -124,7 +124,7 @@ index 812eb29..9e347b3 100644
if (!gst_omx_video_dec_enable (self, frame->input_buffer))
goto enable_error;
}
@@ -3052,9 +3061,16 @@ release_error:
@@ -3297,9 +3306,16 @@ release_error:
static GstFlowReturn
gst_omx_video_dec_drain (GstVideoDecoder * decoder)
{
Expand All @@ -144,7 +144,7 @@ index 812eb29..9e347b3 100644
}

diff --git a/omx/gstomxvideodec.h b/omx/gstomxvideodec.h
index cb70e02..9f69130 100644
index df441d9..4c188c7 100644
--- a/omx/gstomxvideodec.h
+++ b/omx/gstomxvideodec.h
@@ -100,6 +100,8 @@ struct _GstOMXVideoDec
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,17 @@
diff -ruN a/config/rpi/gstomx.conf b/config/rpi/gstomx.conf
--- a/config/rpi/gstomx.conf 2020-08-13 15:29:07.501920678 +0000
+++ b/config/rpi/gstomx.conf 2020-08-13 15:22:35.858037217 +0000
@@ -29,7 +29,7 @@
From 06988b1e2c29937fbcc4a85f6693e1b0e8726682 Mon Sep 17 00:00:00 2001
From: "divvya.rosna" <[email protected]>
Date: Thu, 13 Aug 2020 05:42:37 +0000
Subject: [PATCH] rpi : mesa=webosrpi3 webruntime=webosrpi6

---
config/rpi/gstomx.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/config/rpi/gstomx.conf b/config/rpi/gstomx.conf
index 2508dae..da24611 100644
--- a/config/rpi/gstomx.conf
+++ b/config/rpi/gstomx.conf
@@ -29,7 +29,7 @@ hacks=no-component-role
type-name=GstOMXH264Dec
core-name=/usr/lib/libopenmaxil.so
component-name=OMX.broadcom.video_decode
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"

SRC_URI_append_rpi = " \
file://0001-fix-adaptive-resolution-change-in-seek-issue.patch \
file://0002-fix-brcmegl-dependencies-from-configure.patch \
file://0003-decrease-ranking-of-omxh264dec.patch \
"

Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,8 @@

EXTENDPRAUTO_append_rpi = "webosrpi3"

FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"

DEPENDS_append_rpi = " webos-wayland-extensions"

PACKAGECONFIG_append_rpi = " kms wayland"

PACKAGECONFIG_remove_rpi = "faad"

SRC_URI_append_rpi = " \
file://0001-waylandsink-remove-unsupported-subcompositor.patch \
file://0002-waylandsink-zero-copy-using-wl-drm-protocol.patch \
"
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
From d653ad64595d4ec3856746e389d58db75b2b7bf5 Mon Sep 17 00:00:00 2001
From fb7fe190e1d43961f94ba4dc4c39254b1b6b1be0 Mon Sep 17 00:00:00 2001
From: Pankaj Maharana <[email protected]>
Date: Thu, 12 Dec 2019 12:58:59 +0530
Subject: [PATCH 7/7] v4l2videodec: Check stop in flush() to avoid race
Subject: [PATCH] v4l2videodec: Check stop in flush() to avoid race

condition

Backward playback will drain and flush every frame. Stop playback
Expand All @@ -12,24 +13,22 @@ Fixes #639

Upstream-Status: Submitted
https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/commit/9d42b2dd5dea81d0b8f46cb363be954aaaa34d4c

---
sys/v4l2/gstv4l2videodec.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/sys/v4l2/gstv4l2videodec.c b/sys/v4l2/gstv4l2videodec.c
index 25bc5a0..7657d3b 100644
index 8c06c90..afebf56 100644
--- a/sys/v4l2/gstv4l2videodec.c
+++ b/sys/v4l2/gstv4l2videodec.c
@@ -302,6 +302,9 @@ gst_v4l2_video_dec_flush (GstVideoDecoder * decoder)
gst_pad_stop_task (decoder->srcpad);
}
@@ -347,6 +347,9 @@ gst_v4l2_video_dec_flush (GstVideoDecoder * decoder)

self->output_flow = GST_FLOW_OK;

+ if (G_UNLIKELY (!g_atomic_int_get (&self->active)))
+ return TRUE;
+
gst_v4l2_object_unlock_stop (self->v4l2output);
gst_v4l2_object_unlock_stop (self->v4l2capture);

--
2.7.4

Original file line number Diff line number Diff line change
@@ -1,7 +1,17 @@
diff -ruN a/sys/v4l2/gstv4l2videodec.c b/sys/v4l2/gstv4l2videodec.c
--- a/sys/v4l2/gstv4l2videodec.c 2020-08-27 04:51:28.899239646 +0000
+++ b/sys/v4l2/gstv4l2videodec.c 2020-08-27 06:30:40.402241041 +0000
@@ -676,6 +676,31 @@
From c18d1ad980746e2e4ba2619d79f62451f2a1fd65 Mon Sep 17 00:00:00 2001
From: "sapna.kumari" <[email protected]>
Date: Thu, 27 Aug 2020 06:39:27 +0000
Subject: [PATCH] gstreamer1.0-plugins-good=webosrpi3

---
sys/v4l2/gstv4l2videodec.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

diff --git a/sys/v4l2/gstv4l2videodec.c b/sys/v4l2/gstv4l2videodec.c
index afebf56..4e0921e 100644
--- a/sys/v4l2/gstv4l2videodec.c
+++ b/sys/v4l2/gstv4l2videodec.c
@@ -719,6 +719,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
Expand Up @@ -5,7 +5,6 @@ EXTENDPRAUTO_append_rpi = "webosrpi3"
FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"

SRC_URI_append_raspberrypi4 = " \
file://0001-v4l2-fix-buffer-pool-poll-wait-after-flush.patch \
file://0002-v4l2videodec-Check-stop-in-flush-to-avoid-race-condi.patch \
file://0003-Fix-v4l2h264dec-output-caps-to-RGB16.patch \
"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,20 @@
diff -ruN a/gst/gstpipeline.c b/gst/gstpipeline.c
--- a/gst/gstpipeline.c 2020-08-06 09:59:25.481041707 +0000
+++ b/gst/gstpipeline.c 2020-08-06 09:58:51.195687907 +0000
@@ -308,6 +308,13 @@
From d4a7d3fba32afb21fe8c96bec64de1a5be78dcc4 Mon Sep 17 00:00:00 2001
From: "sapna.kumari" <[email protected]>
Date: Wed, 19 Aug 2020 06:52:43 +0000
Subject: [PATCH] rpi : gstreamer1.0=webosrpi2 g-media-pipeline=21.gav.10

---
gst/gstpipeline.c | 153 ++++++++++++++++++++++++++++++++++++
gst/gstpipeline.h | 9 +++
libs/gst/base/gstbasesink.c | 150 +++++++++++++++++++++++++++++++++++
libs/gst/base/gstbasesink.h | 3 +
4 files changed, 315 insertions(+)

diff --git a/gst/gstpipeline.c b/gst/gstpipeline.c
index 032fe69..026596f 100644
--- a/gst/gstpipeline.c
+++ b/gst/gstpipeline.c
@@ -328,6 +328,13 @@ reset_start_time (GstPipeline * pipeline, GstClockTime start_time)
GST_OBJECT_UNLOCK (pipeline);
}

Expand All @@ -15,7 +28,7 @@ diff -ruN a/gst/gstpipeline.c b/gst/gstpipeline.c
/**
* gst_pipeline_new:
* @name: (allow-none): name of new pipeline
@@ -368,6 +375,152 @@
@@ -388,6 +395,152 @@ pipeline_update_start_time (GstElement * element)
GST_OBJECT_UNLOCK (element);
}

Expand Down Expand Up @@ -168,10 +181,11 @@ diff -ruN a/gst/gstpipeline.c b/gst/gstpipeline.c
/* MT safe */
static GstStateChangeReturn
gst_pipeline_change_state (GstElement * element, GstStateChange transition)
diff -ruN a/gst/gstpipeline.h b/gst/gstpipeline.h
--- a/gst/gstpipeline.h 2020-08-06 09:59:25.481041707 +0000
+++ b/gst/gstpipeline.h 2020-08-06 09:58:51.195687907 +0000
@@ -130,6 +130,15 @@
diff --git a/gst/gstpipeline.h b/gst/gstpipeline.h
index 6406fb8..c87da57 100644
--- a/gst/gstpipeline.h
+++ b/gst/gstpipeline.h
@@ -130,6 +130,15 @@ void gst_pipeline_set_auto_flush_bus (GstPipeline *pipeline, gboolean
GST_API
gboolean gst_pipeline_get_auto_flush_bus (GstPipeline *pipeline);

Expand All @@ -184,13 +198,14 @@ diff -ruN a/gst/gstpipeline.h b/gst/gstpipeline.h
+GST_API
+gboolean gst_pipeline_update_base_time (GstPipeline *pipeline, GstClockTime base_time);
+
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstPipeline, gst_object_unref)
#endif
diff -ruN a/libs/gst/base/gstbasesink.c b/libs/gst/base/gstbasesink.c
--- a/libs/gst/base/gstbasesink.c 2020-08-06 10:18:02.181275530 +0000
+++ b/libs/gst/base/gstbasesink.c 2020-08-06 10:18:27.906295706 +0000
@@ -259,6 +259,8 @@

G_END_DECLS
diff --git a/libs/gst/base/gstbasesink.c b/libs/gst/base/gstbasesink.c
index 8bfc495..48ca987 100644
--- a/libs/gst/base/gstbasesink.c
+++ b/libs/gst/base/gstbasesink.c
@@ -278,6 +278,8 @@ struct _GstBaseSinkPrivate
gsize rc_accumulated;

gboolean drop_out_of_segment;
Expand All @@ -199,7 +214,7 @@ diff -ruN a/libs/gst/base/gstbasesink.c b/libs/gst/base/gstbasesink.c
};

#define DO_RUNNING_AVG(avg,val,size) (((val) + ((size)-1) * (avg)) / (size))
@@ -688,6 +690,8 @@
@@ -726,6 +728,8 @@ gst_base_sink_init (GstBaseSink * basesink, gpointer g_class)

priv->drop_out_of_segment = DEFAULT_DROP_OUT_OF_SEGMENT;

Expand All @@ -208,7 +223,7 @@ diff -ruN a/libs/gst/base/gstbasesink.c b/libs/gst/base/gstbasesink.c
GST_OBJECT_FLAG_SET (basesink, GST_ELEMENT_FLAG_SINK);
}

@@ -2267,6 +2271,8 @@
@@ -2323,6 +2327,8 @@ gst_base_sink_wait_clock (GstBaseSink * sink, GstClockTime time,
GstClock *clock;
GstClockTime base_time;

Expand All @@ -217,7 +232,7 @@ diff -ruN a/libs/gst/base/gstbasesink.c b/libs/gst/base/gstbasesink.c
if (G_UNLIKELY (!GST_CLOCK_TIME_IS_VALID (time)))
goto invalid_time;

@@ -2277,6 +2283,12 @@
@@ -2333,6 +2339,12 @@ gst_base_sink_wait_clock (GstBaseSink * sink, GstClockTime time,
if (G_UNLIKELY ((clock = GST_ELEMENT_CLOCK (sink)) == NULL))
goto no_clock;

Expand All @@ -230,7 +245,7 @@ diff -ruN a/libs/gst/base/gstbasesink.c b/libs/gst/base/gstbasesink.c
base_time = GST_ELEMENT_CAST (sink)->base_time;
GST_LOG_OBJECT (sink,
"time %" GST_TIME_FORMAT ", base_time %" GST_TIME_FORMAT,
@@ -4037,6 +4049,92 @@
@@ -4329,6 +4341,92 @@ gst_base_sink_perform_seek (GstBaseSink * sink, GstPad * pad, GstEvent * event)
return res;
}

Expand Down Expand Up @@ -323,7 +338,7 @@ diff -ruN a/libs/gst/base/gstbasesink.c b/libs/gst/base/gstbasesink.c
static void
set_step_info (GstBaseSink * sink, GstStepInfo * current, GstStepInfo * pending,
guint seqnum, GstFormat format, guint64 amount, gdouble rate,
@@ -4603,6 +4701,58 @@
@@ -5015,6 +5113,58 @@ gst_base_sink_send_event (GstElement * element, GstEvent * event)
result = gst_base_sink_perform_step (basesink, pad, event);
forward = FALSE;
break;
Expand Down Expand Up @@ -382,10 +397,11 @@ diff -ruN a/libs/gst/base/gstbasesink.c b/libs/gst/base/gstbasesink.c
default:
break;
}
diff -ruN a/libs/gst/base/gstbasesink.h b/libs/gst/base/gstbasesink.h
--- a/libs/gst/base/gstbasesink.h 2020-08-06 10:18:02.181275530 +0000
+++ b/libs/gst/base/gstbasesink.h 2020-08-06 10:18:27.906295706 +0000
@@ -198,6 +198,9 @@
diff --git a/libs/gst/base/gstbasesink.h b/libs/gst/base/gstbasesink.h
index 7ce8650..0f05421 100644
--- a/libs/gst/base/gstbasesink.h
+++ b/libs/gst/base/gstbasesink.h
@@ -203,6 +203,9 @@ struct _GstBaseSinkClass {
/* Render a BufferList */
GstFlowReturn (*render_list) (GstBaseSink *sink, GstBufferList *buffer_list);

Expand Down

0 comments on commit 3f80223

Please sign in to comment.