mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-18 14:26:43 +00:00
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
This commit is contained in:
parent
cd57697a2c
commit
bb336840c0
3 changed files with 7 additions and 2 deletions
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue