From 8bcc733ceca037b1d680ddb21c0317b6f85fab19 Mon Sep 17 00:00:00 2001 From: Thiago Santos Date: Mon, 16 Nov 2015 10:58:32 -0300 Subject: qtdemux: only send initial gaps for non-fragmented streams It would be unusual to have the header segment with an 'edts' atom indicating gaps at the beginning when handling fragmented streams. The header usually doesn't contain any timestamping information, this should come from the playlist/manifest and the segments with media in those scenarios. https://bugzilla.gnome.org/show_bug.cgi?id=758171 --- gst/isomp4/qtdemux.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/gst/isomp4/qtdemux.c b/gst/isomp4/qtdemux.c index d89cfd041..f2c8c73f2 100644 --- a/gst/isomp4/qtdemux.c +++ b/gst/isomp4/qtdemux.c @@ -5801,9 +5801,13 @@ gst_qtdemux_process_adapter (GstQTDemux * demux, gboolean force) demux->got_moov = TRUE; gst_qtdemux_check_send_pending_segment (demux); - for (n = 0; n < demux->n_streams; n++) { - gst_qtdemux_stream_send_initial_gap_segments (demux, - demux->streams[n]); + + /* fragmented streams headers shouldn't contain edts atoms */ + if (!demux->fragmented) { + for (n = 0; n < demux->n_streams; n++) { + gst_qtdemux_stream_send_initial_gap_segments (demux, + demux->streams[n]); + } } g_node_destroy (demux->moov_node); -- cgit v1.2.3