meta-agl-bsp: backport: gstreamer1.0 v1.4.5 recipes
[AGL/meta-agl.git] / meta-agl-bsp / meta-rcar-gen3 / recipes-multimedia / gstreamer / gstreamer1.0-plugins-base / do-not-change-eos-event-to-gap-event2.patch
1 commit f9536544f5ad182b4f78d0143d1daa45dd64e624
2 Author: Song Bing <b06498@freescale.com>
3 Date:   Thu Oct 9 17:37:43 2014 +0800
4
5 [gststreamsynchronizer] send EOS event insterd of GAP event as GAP
6 event has issue when A/V have different duration.
7     
8 send EOS event insterd of GAP event as GAP event has issue when A/V have different duration.
9
10 Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=736655]
11
12 Signed-off-by: Song Bing <b06498@freescale.com>
13
14 diff --git a/gst/playback/gststreamsynchronizer.c b/gst/playback/gststreamsynchronizer.c
15 index 3e17c55..ff42d72 100644
16 --- a/gst/playback/gststreamsynchronizer.c
17 +++ b/gst/playback/gststreamsynchronizer.c
18 @@ -488,19 +488,24 @@ gst_stream_synchronizer_sink_event (GstPad * pad, GstObject * parent,
19          }
20          g_slist_free (pads);
21        } else {
22 -        /* if EOS, but no data has passed, then send EOS event */
23 +        /* if EOS, but no data has passed, then send something to replace EOS
24 +         * for preroll purposes */
25          if (!seen_data) {
26 -          GstEvent *gap_event;
27 +          GstEvent *eos_event;
28  
29 -          gap_event = gst_event_new_eos ();
30 -          ret = gst_pad_push_event (srcpad, gap_event);
31 +          /* FIXME: change to EOS event as GAP event has issue when A/V have
32 +           * different duration */
33 +          eos_event = gst_event_new_eos ();
34 +          ret = gst_pad_push_event (srcpad, eos_event);
35          } else {
36 -          GstEvent *gap_event;
37 +          GstEvent *eos_event;
38  
39            /* FIXME: Also send a GAP event to let audio sinks start their
40             * clock in case they did not have enough data yet */
41 -          gap_event = gst_event_new_gap (timestamp, GST_CLOCK_TIME_NONE);
42 -          ret = gst_pad_push_event (srcpad, gap_event);
43 +          /* FIXME: change to EOS event as GAP event has issue when A/V have
44 +           * different duration */
45 +          eos_event = gst_event_new_eos ();
46 +          ret = gst_pad_push_event (srcpad, eos_event);
47          }
48        }
49        gst_object_unref (srcpad);