commit f9536544f5ad182b4f78d0143d1daa45dd64e624 Author: Song Bing Date: Thu Oct 9 17:37:43 2014 +0800 [gststreamsynchronizer] send EOS event insterd of GAP event as GAP event has issue when A/V have different duration. send EOS event insterd of GAP event as GAP event has issue when A/V have different duration. Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=736655] Signed-off-by: Song Bing diff --git a/gst/playback/gststreamsynchronizer.c b/gst/playback/gststreamsynchronizer.c index 3e17c55..ff42d72 100644 --- a/gst/playback/gststreamsynchronizer.c +++ b/gst/playback/gststreamsynchronizer.c @@ -488,19 +488,24 @@ gst_stream_synchronizer_sink_event (GstPad * pad, GstObject * parent, } g_slist_free (pads); } else { - /* if EOS, but no data has passed, then send EOS event */ + /* if EOS, but no data has passed, then send something to replace EOS + * for preroll purposes */ if (!seen_data) { - GstEvent *gap_event; + GstEvent *eos_event; - gap_event = gst_event_new_eos (); - ret = gst_pad_push_event (srcpad, gap_event); + /* FIXME: change to EOS event as GAP event has issue when A/V have + * different duration */ + eos_event = gst_event_new_eos (); + ret = gst_pad_push_event (srcpad, eos_event); } else { - GstEvent *gap_event; + GstEvent *eos_event; /* FIXME: Also send a GAP event to let audio sinks start their * clock in case they did not have enough data yet */ - gap_event = gst_event_new_gap (timestamp, GST_CLOCK_TIME_NONE); - ret = gst_pad_push_event (srcpad, gap_event); + /* FIXME: change to EOS event as GAP event has issue when A/V have + * different duration */ + eos_event = gst_event_new_eos (); + ret = gst_pad_push_event (srcpad, eos_event); } } gst_object_unref (srcpad);