summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Hervey <bilboed@bilboed.com>2014-12-09 11:26:26 +0100
committerEdward Hervey <bilboed@bilboed.com>2015-02-18 12:17:31 +0100
commit1b47552a4ff1605a2afe23a076702cca13c83d8c (patch)
tree84fc9be85c10c171959fbbcbc5bf657a2f2278bd
parentc6a079de0f9d91e92fcc00d36a9081a7ece30be1 (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.c4
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);