[meta-freescale] [meta-fsl-arm][PATCH v4 3/4] gstreamer1.0-plugins-base: Add subparse related patch
Carlos Rafael Giani
dv at pseudoterminal.org
Wed Aug 5 13:40:47 PDT 2015
Same here with regards to "i.MX specific". This is a proposed patch from
https://bugzilla.gnome.org/show_bug.cgi?id=747498 , so use
"Upstream-Status: Submitted
[https://bugzilla.gnome.org/show_bug.cgi?id=747498]" instead.
Am 2015-07-30 um 20:55 schrieb Yuqing Zhu:
> Set need_segment after sink pad receive GST_EVENT_SEGMENT.
>
> Signed-off-by: Yuqing Zhu <b54851 at freescale.com>
> ---
> ...t-need_segment-after-sink-pad-received-GS.patch | 69 ++++++++++++++++++++++
> .../gstreamer/gstreamer1.0-plugins-base_%.bbappend | 1 +
> 2 files changed, 70 insertions(+)
> create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-subparse-set-need_segment-after-sink-pad-received-GS.patch
>
> diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-subparse-set-need_segment-after-sink-pad-received-GS.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-subparse-set-need_segment-after-sink-pad-received-GS.patch
> new file mode 100644
> index 0000000..b119fb1
> --- /dev/null
> +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-subparse-set-need_segment-after-sink-pad-received-GS.patch
> @@ -0,0 +1,69 @@
> +From ed09c8fd2c9c2b5384b72cc70af3728be6694e64 Mon Sep 17 00:00:00 2001
> +From: Mingke Wang <mingke.wang at freescale.com>
> +Date: Thu, 19 Mar 2015 14:20:26 +0800
> +Subject: [PATCH 4/4] subparse: set need_segment after sink pad received
> + GST_EVENT_SEGMENT
> +
> +subparse works in push mode, chain funciton will be called once
> +up stream element finished the seeking and flushing.
> +if set need_segment flag in src pad event handler, the segment
> +event will be pushed earlier, result in the subtitle text will
> +be send out to down stream from the beginning.
> +
> +Upstream-Status: Inappropriate [i.MX specific]
> +
> +Signed-off-by: Mingke Wang <mingke.wang at freescale.com>
> +
> +diff --git a/gst/subparse/gstsubparse.c b/gst/subparse/gstsubparse.c
> +old mode 100644
> +new mode 100755
> +index b565e93..7741ccc
> +--- a/gst/subparse/gstsubparse.c
> ++++ b/gst/subparse/gstsubparse.c
> +@@ -266,22 +266,20 @@ gst_sub_parse_src_event (GstPad * pad, GstObject * parent, GstEvent * event)
> + goto beach;
> + }
> +
> ++ /* Apply the seek to our segment */
> ++ gst_segment_do_seek (&self->segment, rate, format, flags,
> ++ start_type, start, stop_type, stop, &update);
> ++
> ++ GST_DEBUG_OBJECT (self, "segment after seek: %" GST_SEGMENT_FORMAT,
> ++ &self->segment);
> ++
> + /* Convert that seek to a seeking in bytes at position 0,
> + FIXME: could use an index */
> + ret = gst_pad_push_event (self->sinkpad,
> + gst_event_new_seek (rate, GST_FORMAT_BYTES, flags,
> + GST_SEEK_TYPE_SET, 0, GST_SEEK_TYPE_NONE, 0));
> +
> +- if (ret) {
> +- /* Apply the seek to our segment */
> +- gst_segment_do_seek (&self->segment, rate, format, flags,
> +- start_type, start, stop_type, stop, &update);
> +-
> +- GST_DEBUG_OBJECT (self, "segment after seek: %" GST_SEGMENT_FORMAT,
> +- &self->segment);
> +-
> +- self->need_segment = TRUE;
> +- } else {
> ++ if (!ret) {
> + GST_WARNING_OBJECT (self, "seek to 0 bytes failed");
> + }
> +
> +@@ -1632,8 +1630,10 @@ gst_sub_parse_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
> + gst_event_parse_segment (event, &s);
> + if (s->format == GST_FORMAT_TIME)
> + gst_event_copy_segment (event, &self->segment);
> +- GST_DEBUG_OBJECT (self, "newsegment (%s)",
> +- gst_format_get_name (self->segment.format));
> ++ GST_DEBUG_OBJECT (self, "newsegment (%s) %" GST_SEGMENT_FORMAT,
> ++ gst_format_get_name (self->segment.format), &self->segment);
> ++
> ++ self->need_segment = TRUE;
> +
> + /* if not time format, we'll either start with a 0 timestamp anyway or
> + * it's following a seek in which case we'll have saved the requested
> +--
> +1.7.9.5
> +
> diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend
> index 977c26e..683f330 100644
> --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend
> +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend
> @@ -4,6 +4,7 @@ SRC_URI_append_mxs = " file://gstplaybin-remove-flag-deinterlace.patch"
> SRC_URI_append_mx5 = " file://gstplaybin-remove-flag-deinterlace.patch"
> IMX_PATCHES = " file://gstplaybin-remove-flag-deinterlace.patch \
> file://0003-ssaparse-enhance-SSA-text-lines-parsing.patch \
> + file://0004-subparse-set-need_segment-after-sink-pad-received-GS.patch \
> "
>
>
More information about the meta-freescale
mailing list