summaryrefslogtreecommitdiffstats
path: root/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base
diff options
context:
space:
mode:
authorZidan Wang <b50113@freescale.com>2014-12-30 10:55:53 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-12-31 08:14:28 +0000
commit5c8ef2bfe2782d849fde7367adf446636696a520 (patch)
tree3e47565e5b4cb4663df1a2e145d5b487f7d0bcfb /meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base
parent0b971429d0ef67f931e251e8b7bb7b4e8ae279e6 (diff)
downloadast2050-yocto-poky-5c8ef2bfe2782d849fde7367adf446636696a520.zip
ast2050-yocto-poky-5c8ef2bfe2782d849fde7367adf446636696a520.tar.gz
gstreamer1.0-plugins-base: Taglist will not be sent to downstream if all the frame corrupted
Add patch to fix the issue that taglist will not be sent to downstream if the tag is EOS. https://bugzilla.gnome.org/show_bug.cgi?id=737246 (From OE-Core rev: 223f8dc63385f2a2f5ba009494abce2a26c78090) Signed-off-by: Zidan Wang <b50113@freescale.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base')
-rwxr-xr-xmeta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/taglist-not-send-to-down-stream-if-all-the-frame-cor.patch57
1 files changed, 57 insertions, 0 deletions
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/taglist-not-send-to-down-stream-if-all-the-frame-cor.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/taglist-not-send-to-down-stream-if-all-the-frame-cor.patch
new file mode 100755
index 0000000..51fdc7e
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/taglist-not-send-to-down-stream-if-all-the-frame-cor.patch
@@ -0,0 +1,57 @@
+From 68fa1b1425ad2c5f7c5013d0943153a8a6d0934e Mon Sep 17 00:00:00 2001
+From: Jian Li <lj.qfy.sh@gmail.com>
+Date: Wed, 24 Sep 2014 17:21:02 +0800
+Subject: [PATCH] taglist not send to down stream if all the frame corrupted
+
+https://bugzilla.gnome.org/show_bug.cgi?id=737246
+
+Upstream status: Pending
+
+Signed-off-by: Jian Li <lj.qfy.sh@gmail.com>
+---
+ gst-libs/gst/audio/gstaudiodecoder.c | 9 +++++++++
+ gst-libs/gst/video/gstvideodecoder.c | 8 ++++++++
+ 2 files changed, 17 insertions(+)
+
+diff --git a/gst-libs/gst/audio/gstaudiodecoder.c b/gst-libs/gst/audio/gstaudiodecoder.c
+index 3504678..3d69efe 100644
+--- a/gst-libs/gst/audio/gstaudiodecoder.c
++++ b/gst-libs/gst/audio/gstaudiodecoder.c
+@@ -2083,6 +2083,15 @@ gst_audio_decoder_sink_eventfunc (GstAudioDecoder * dec, GstEvent * event)
+ gst_audio_decoder_drain (dec);
+ GST_AUDIO_DECODER_STREAM_UNLOCK (dec);
+
++ /* send taglist if no valid frame is decoded util EOS */
++ if (dec->priv->taglist && dec->priv->taglist_changed) {
++ GST_DEBUG_OBJECT (dec, "codec tag %" GST_PTR_FORMAT, dec->priv->taglist);
++ if (!gst_tag_list_is_empty (dec->priv->taglist))
++ gst_audio_decoder_push_event (dec,
++ gst_event_new_tag (gst_tag_list_ref (dec->priv->taglist)));
++ dec->priv->taglist_changed = FALSE;
++ }
++
+ /* Forward EOS because no buffer or serialized event will come after
+ * EOS and nothing could trigger another _finish_frame() call. */
+ ret = gst_audio_decoder_push_event (dec, event);
+diff --git a/gst-libs/gst/video/gstvideodecoder.c b/gst-libs/gst/video/gstvideodecoder.c
+index dd8abe3..d9bfe4d 100644
+--- a/gst-libs/gst/video/gstvideodecoder.c
++++ b/gst-libs/gst/video/gstvideodecoder.c
+@@ -1024,6 +1024,14 @@ gst_video_decoder_sink_event_default (GstVideoDecoder * decoder,
+ * parent class' ::sink_event() until a later time.
+ */
+ forward_immediate = TRUE;
++
++ /* send taglist if no valid frame is decoded util EOS */
++ if (decoder->priv->tags && decoder->priv->tags_changed) {
++ gst_video_decoder_push_event (decoder,
++ gst_event_new_tag (gst_tag_list_ref (decoder->priv->tags)));
++ decoder->priv->tags_changed = FALSE;
++ }
++
+ break;
+ }
+ case GST_EVENT_GAP:
+--
+1.7.9.5
+
OpenPOWER on IntegriCloud