summaryrefslogtreecommitdiffstats
path: root/meta
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
parent0b971429d0ef67f931e251e8b7bb7b4e8ae279e6 (diff)
downloadpoky-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')
-rwxr-xr-xmeta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/taglist-not-send-to-down-stream-if-all-the-frame-cor.patch57
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.4.1.bb1
2 files changed, 58 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 0000000000..51fdc7e177
--- /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 @@
1From 68fa1b1425ad2c5f7c5013d0943153a8a6d0934e Mon Sep 17 00:00:00 2001
2From: Jian Li <lj.qfy.sh@gmail.com>
3Date: Wed, 24 Sep 2014 17:21:02 +0800
4Subject: [PATCH] taglist not send to down stream if all the frame corrupted
5
6https://bugzilla.gnome.org/show_bug.cgi?id=737246
7
8Upstream status: Pending
9
10Signed-off-by: Jian Li <lj.qfy.sh@gmail.com>
11---
12 gst-libs/gst/audio/gstaudiodecoder.c | 9 +++++++++
13 gst-libs/gst/video/gstvideodecoder.c | 8 ++++++++
14 2 files changed, 17 insertions(+)
15
16diff --git a/gst-libs/gst/audio/gstaudiodecoder.c b/gst-libs/gst/audio/gstaudiodecoder.c
17index 3504678..3d69efe 100644
18--- a/gst-libs/gst/audio/gstaudiodecoder.c
19+++ b/gst-libs/gst/audio/gstaudiodecoder.c
20@@ -2083,6 +2083,15 @@ gst_audio_decoder_sink_eventfunc (GstAudioDecoder * dec, GstEvent * event)
21 gst_audio_decoder_drain (dec);
22 GST_AUDIO_DECODER_STREAM_UNLOCK (dec);
23
24+ /* send taglist if no valid frame is decoded util EOS */
25+ if (dec->priv->taglist && dec->priv->taglist_changed) {
26+ GST_DEBUG_OBJECT (dec, "codec tag %" GST_PTR_FORMAT, dec->priv->taglist);
27+ if (!gst_tag_list_is_empty (dec->priv->taglist))
28+ gst_audio_decoder_push_event (dec,
29+ gst_event_new_tag (gst_tag_list_ref (dec->priv->taglist)));
30+ dec->priv->taglist_changed = FALSE;
31+ }
32+
33 /* Forward EOS because no buffer or serialized event will come after
34 * EOS and nothing could trigger another _finish_frame() call. */
35 ret = gst_audio_decoder_push_event (dec, event);
36diff --git a/gst-libs/gst/video/gstvideodecoder.c b/gst-libs/gst/video/gstvideodecoder.c
37index dd8abe3..d9bfe4d 100644
38--- a/gst-libs/gst/video/gstvideodecoder.c
39+++ b/gst-libs/gst/video/gstvideodecoder.c
40@@ -1024,6 +1024,14 @@ gst_video_decoder_sink_event_default (GstVideoDecoder * decoder,
41 * parent class' ::sink_event() until a later time.
42 */
43 forward_immediate = TRUE;
44+
45+ /* send taglist if no valid frame is decoded util EOS */
46+ if (decoder->priv->tags && decoder->priv->tags_changed) {
47+ gst_video_decoder_push_event (decoder,
48+ gst_event_new_tag (gst_tag_list_ref (decoder->priv->tags)));
49+ decoder->priv->tags_changed = FALSE;
50+ }
51+
52 break;
53 }
54 case GST_EVENT_GAP:
55--
561.7.9.5
57
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.4.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.4.1.bb
index 0db42cec94..27b8774444 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.4.1.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.4.1.bb
@@ -7,6 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c54ce9345727175ff66d17b67ff51f58 \
7 7
8SRC_URI += "file://do-not-change-eos-event-to-gap-event-if.patch \ 8SRC_URI += "file://do-not-change-eos-event-to-gap-event-if.patch \
9 file://get-caps-from-src-pad-when-query-caps.patch \ 9 file://get-caps-from-src-pad-when-query-caps.patch \
10 file://taglist-not-send-to-down-stream-if-all-the-frame-cor.patch \
10" 11"
11 12
12SRC_URI[md5sum] = "a825628225bd0a58c0df87cdd2a5db91" 13SRC_URI[md5sum] = "a825628225bd0a58c0df87cdd2a5db91"