Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/GStreamer/gst-plugins-good.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThiago Santos <thiagoss@osg.samsung.com>2015-07-08 18:35:55 +0300
committerThiago Santos <thiagoss@osg.samsung.com>2015-07-09 05:23:53 +0300
commit38520a1e122928030b69374b88b8888cc556bab3 (patch)
tree0b52dc773a355a5a355905e3c5ba21cac0566de4
parent6e7c724afadd6a4d04d6e68938d314e1be570f9e (diff)
qtdemux: push data from adapter before starting new segment
The adapter might have data remaining from the previous segment, push it all before clearing the adapter and starting a new segment. It can accumulate data if it had pushed and got not-linked, returning immediately without processing all the data. Before starting a new segment this data should be handled.
-rw-r--r--gst/isomp4/qtdemux.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/gst/isomp4/qtdemux.c b/gst/isomp4/qtdemux.c
index 76bac2aac..920fc644a 100644
--- a/gst/isomp4/qtdemux.c
+++ b/gst/isomp4/qtdemux.c
@@ -2006,16 +2006,9 @@ gst_qtdemux_handle_sink_event (GstPad * sinkpad, GstObject * parent,
segment.stop = MAX (segment.stop, segment.start);
}
} else if (segment.format == GST_FORMAT_TIME) {
- /* NOP */
-#if 0
- gst_qtdemux_push_event (demux, gst_event_ref (event));
- gst_event_new_new_segment_full (segment.update, segment.rate,
- segment.arate, GST_FORMAT_TIME, segment.start, segment.stop,
- segment.start);
- gst_adapter_clear (demux->adapter);
- demux->neededbytes = 16;
- goto exit;
-#endif
+ /* push all data on the adapter before starting this
+ * new segment */
+ gst_qtdemux_process_adapter (demux, TRUE);
} else {
GST_DEBUG_OBJECT (demux, "unsupported segment format, ignoring");
goto exit;