summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThiago Santos <thiagoss@osg.samsung.com>2015-11-16 10:58:32 -0300
committerThiago Santos <thiagoss@osg.samsung.com>2015-11-17 09:42:07 -0300
commit8bcc733ceca037b1d680ddb21c0317b6f85fab19 (patch)
tree0317af7372f21a059ec3054b033e475014ce91c0
parentef8cb058231f93364d006c84ba8ba1a0c7965670 (diff)
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
-rw-r--r--gst/isomp4/qtdemux.c10
1 files 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);