diff options
author | Thiago Santos <ts.santos@sisa.samsung.com> | 2014-01-02 13:43:54 -0300 |
---|---|---|
committer | Thiago Santos <ts.santos@sisa.samsung.com> | 2014-01-02 16:38:40 -0300 |
commit | accaadf52ac7cdb9c30383d70a9418bc258fd35d (patch) | |
tree | 2ca0de2aac58a694db630993ee2d6fd408d3fdc0 /libs | |
parent | d917eb7160d0043db970d4d599a32020c69ae63c (diff) | |
download | gstreamer-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.c | 3 |
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 |