Commit bb336840 authored by Thiago Santos's avatar Thiago Santos

qtdemux: handle default-base-is-moof flag

Handle the flag from the tfhd that signals the base offset to
start from the moof atom

https://bugzilla.gnome.org/show_bug.cgi?id=752603
parent cd57697a
......@@ -612,7 +612,8 @@ enum TfFlags
TF_DEFAULT_SAMPLE_DURATION = 0x08, /* default-sample-duration-present */
TF_DEFAULT_SAMPLE_SIZE = 0x010, /* default-sample-size-present */
TF_DEFAULT_SAMPLE_FLAGS = 0x020, /* default-sample-flags-present */
TF_DURATION_IS_EMPTY = 0x010000 /* sample-composition-time-offsets-presents */
TF_DURATION_IS_EMPTY = 0x010000, /* sample-composition-time-offsets-presents */
TF_DEFAULT_BASE_IS_MOOF = 0x020000 /* default-base-is-moof */
};
typedef struct _AtomTRAK
......
......@@ -2879,6 +2879,9 @@ qtdemux_parse_tfhd (GstQTDemux * qtdemux, GstByteReader * tfhd,
if (G_UNLIKELY (!*stream))
goto unknown_stream;
if (flags & TF_DEFAULT_BASE_IS_MOOF)
*base_offset = qtdemux->moof_offset;
if (flags & TF_BASE_DATA_OFFSET)
if (!gst_byte_reader_get_uint64_be (tfhd, (guint64 *) base_offset))
goto invalid_track;
......
......@@ -62,7 +62,8 @@ enum TfFlags
TF_DEFAULT_SAMPLE_DURATION = 0x000008, /* default-sample-duration-present */
TF_DEFAULT_SAMPLE_SIZE = 0x000010, /* default-sample-size-present */
TF_DEFAULT_SAMPLE_FLAGS = 0x000020, /* default-sample-flags-present */
TF_DURATION_IS_EMPTY = 0x100000 /* duration-is-empty */
TF_DURATION_IS_EMPTY = 0x010000, /* duration-is-empty */
TF_DEFAULT_BASE_IS_MOOF = 0x020000 /* default-base-is-moof */
};
enum TrFlags
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment