blob: f24bc7cd6fb08cbe983cd0edefddd7b1447f6d0f [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001commit f9536544f5ad182b4f78d0143d1daa45dd64e624
2Author: Song Bing <b06498@freescale.com>
3Date: Thu Oct 9 17:37:43 2014 +0800
4
5[gststreamsynchronizer] send EOS event insterd of GAP event as GAP
6event has issue when A/V have different duration.
7
8send EOS event insterd of GAP event as GAP event has issue when A/V have different duration.
9
10Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=736655]
11
12Signed-off-by: Song Bing <b06498@freescale.com>
13
14diff --git a/gst/playback/gststreamsynchronizer.c b/gst/playback/gststreamsynchronizer.c
15index 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);