gst-plugins-good: qtdemux: fragmented support; mark all audio track samples as keyframe

Mark Nauwelaerts mnauw at kemper.freedesktop.org
Mon Sep 5 05:57:18 PDT 2011


Module: gst-plugins-good
Branch: master
Commit: 08d25a69d564740b14a2a53e29e61b0253a39f39
URL:    http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=08d25a69d564740b14a2a53e29e61b0253a39f39

Author: Mark Nauwelaerts <mark.nauwelaerts at collabora.co.uk>
Date:   Mon Sep  5 14:48:02 2011 +0200

qtdemux: fragmented support; mark all audio track samples as keyframe

---

 gst/isomp4/qtdemux.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/gst/isomp4/qtdemux.c b/gst/isomp4/qtdemux.c
index 88f1401..a91be6f 100644
--- a/gst/isomp4/qtdemux.c
+++ b/gst/isomp4/qtdemux.c
@@ -2105,6 +2105,14 @@ qtdemux_parse_trun (GstQTDemux * qtdemux, GstByteReader * trun,
       stream->track_id, d_sample_duration, d_sample_size, d_sample_flags,
       *base_offset);
 
+  /* presence of stss or not can't really tell us much,
+   * and flags and so on tend to be marginally reliable in these files */
+  if (stream->subtype == FOURCC_soun) {
+    GST_DEBUG_OBJECT (qtdemux,
+        "sound track in fragmented file; marking all keyframes");
+    stream->all_keyframe = TRUE;
+  }
+
   if (!gst_byte_reader_skip (trun, 1) ||
       !gst_byte_reader_get_uint24_be (trun, &flags))
     goto fail;



More information about the gstreamer-commits mailing list