diff options
author | Edward Hervey <bilboed@bilboed.com> | 2014-12-09 11:26:26 +0100 |
---|---|---|
committer | Edward Hervey <bilboed@bilboed.com> | 2015-02-18 12:17:31 +0100 |
commit | 1b47552a4ff1605a2afe23a076702cca13c83d8c (patch) | |
tree | 84fc9be85c10c171959fbbcbc5bf657a2f2278bd | |
parent | c6a079de0f9d91e92fcc00d36a9081a7ece30be1 (diff) |
qtdemux: Don't blindly refuse fragmented seek in push mode
Seeking back will work for example.
Also fix mdatleft value to a very big value so that data that arrives
after a succesfull push-seek doesn't abort early (it will get set
to a proper value the next time we see a mdat)
-rw-r--r-- | gst/isomp4/qtdemux.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gst/isomp4/qtdemux.c b/gst/isomp4/qtdemux.c index daf977eaa..10fe9ba08 100644 --- a/gst/isomp4/qtdemux.c +++ b/gst/isomp4/qtdemux.c @@ -1607,8 +1607,7 @@ gst_qtdemux_handle_src_event (GstPad * pad, GstObject * parent, } else if (gst_pad_push_event (qtdemux->sinkpad, gst_event_ref (event))) { GST_DEBUG_OBJECT (qtdemux, "Upstream successfully seeked"); res = TRUE; - } else if (qtdemux->state == QTDEMUX_STATE_MOVIE && qtdemux->n_streams - && !qtdemux->fragmented) { + } else if (qtdemux->state == QTDEMUX_STATE_MOVIE && qtdemux->n_streams) { res = gst_qtdemux_do_push_seek (qtdemux, pad, event); } else { GST_DEBUG_OBJECT (qtdemux, @@ -1879,6 +1878,7 @@ gst_qtdemux_reset (GstQTDemux * qtdemux, gboolean hard, gboolean chaining) qtdemux->group_id = G_MAXUINT; } qtdemux->offset = 0; + qtdemux->mdatleft = G_MAXUINT64; gst_adapter_clear (qtdemux->adapter); gst_segment_init (&qtdemux->segment, GST_FORMAT_TIME); |