From accaadf52ac7cdb9c30383d70a9418bc258fd35d Mon Sep 17 00:00:00 2001 From: Thiago Santos Date: Thu, 2 Jan 2014 13:43:54 -0300 Subject: [PATCH] baseparse: push pending events before GAP event A GAP event is handled as an empty buffer by sinks and they expect to receive start up events before GAP events (like a segment). This is important specially if there is a GAP at the beginning of a stream (before any buffers) so that the segment event can be pushed downstream before the GAP https://bugzilla.gnome.org/show_bug.cgi?id=721350 --- libs/gst/base/gstbaseparse.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libs/gst/base/gstbaseparse.c b/libs/gst/base/gstbaseparse.c index b0ca623..627bfd0 100644 --- a/libs/gst/base/gstbaseparse.c +++ b/libs/gst/base/gstbaseparse.c @@ -1186,6 +1186,9 @@ gst_base_parse_sink_event_default (GstBaseParse * parse, GstEvent * event) case GST_EVENT_GAP: { GST_DEBUG_OBJECT (parse, "draining current data due to gap event"); + + gst_base_parse_push_pending_events (parse); + if (parse->segment.rate > 0.0) gst_base_parse_drain (parse); else -- 2.7.4