Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 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); |