blob: f24bc7cd6fb08cbe983cd0edefddd7b1447f6d0f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
commit f9536544f5ad182b4f78d0143d1daa45dd64e624
Author: Song Bing <b06498@freescale.com>
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 <b06498@freescale.com>
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);
|