summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorThiago Santos <ts.santos@sisa.samsung.com>2014-01-02 13:43:54 -0300
committerThiago Santos <ts.santos@sisa.samsung.com>2014-01-02 16:38:40 -0300
commitaccaadf52ac7cdb9c30383d70a9418bc258fd35d (patch)
tree2ca0de2aac58a694db630993ee2d6fd408d3fdc0 /libs
parentd917eb7160d0043db970d4d599a32020c69ae63c (diff)
downloadgstreamer-accaadf52ac7cdb9c30383d70a9418bc258fd35d.tar.gz
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
Diffstat (limited to 'libs')
-rw-r--r--libs/gst/base/gstbaseparse.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libs/gst/base/gstbaseparse.c b/libs/gst/base/gstbaseparse.c
index b0ca6239eb..627bfd07c5 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