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_DURATION = 0x08, /* default-sample-duration-present */
|
||||||
TF_DEFAULT_SAMPLE_SIZE = 0x010, /* default-sample-size-present */
|
TF_DEFAULT_SAMPLE_SIZE = 0x010, /* default-sample-size-present */
|
||||||
TF_DEFAULT_SAMPLE_FLAGS = 0x020, /* default-sample-flags-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
|
typedef struct _AtomTRAK
|
||||||
|
|
|
@ -2879,6 +2879,9 @@ qtdemux_parse_tfhd (GstQTDemux * qtdemux, GstByteReader * tfhd,
|
||||||
if (G_UNLIKELY (!*stream))
|
if (G_UNLIKELY (!*stream))
|
||||||
goto unknown_stream;
|
goto unknown_stream;
|
||||||
|
|
||||||
|
if (flags & TF_DEFAULT_BASE_IS_MOOF)
|
||||||
|
*base_offset = qtdemux->moof_offset;
|
||||||
|
|
||||||
if (flags & TF_BASE_DATA_OFFSET)
|
if (flags & TF_BASE_DATA_OFFSET)
|
||||||
if (!gst_byte_reader_get_uint64_be (tfhd, (guint64 *) base_offset))
|
if (!gst_byte_reader_get_uint64_be (tfhd, (guint64 *) base_offset))
|
||||||
goto invalid_track;
|
goto invalid_track;
|
||||||
|
|
|
@ -62,7 +62,8 @@ enum TfFlags
|
||||||
TF_DEFAULT_SAMPLE_DURATION = 0x000008, /* default-sample-duration-present */
|
TF_DEFAULT_SAMPLE_DURATION = 0x000008, /* default-sample-duration-present */
|
||||||
TF_DEFAULT_SAMPLE_SIZE = 0x000010, /* default-sample-size-present */
|
TF_DEFAULT_SAMPLE_SIZE = 0x000010, /* default-sample-size-present */
|
||||||
TF_DEFAULT_SAMPLE_FLAGS = 0x000020, /* default-sample-flags-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
|
enum TrFlags
|
||||||
|
|
Loading…
Reference in a new issue