mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-09-08 21:28:45 +00:00
qtdemux: Cope with difference between QTFF and ISO BMFF specs
The 'meta' atom is defined differently in QTFF and BMFF, so try to guess which spec the current stream applies to by looking at the major file type.
This commit is contained in:
parent
b415358c7e
commit
357d77cf55
1 changed files with 7 additions and 1 deletions
|
@ -7521,6 +7521,12 @@ qtdemux_parse_node (GstQTDemux * qtdemux, GNode * node, const guint8 * buffer,
|
||||||
case FOURCC_meta:
|
case FOURCC_meta:
|
||||||
{
|
{
|
||||||
GST_DEBUG_OBJECT (qtdemux, "parsing meta atom");
|
GST_DEBUG_OBJECT (qtdemux, "parsing meta atom");
|
||||||
|
/* You are reading this correctly. QTFF specifies that the
|
||||||
|
* metadata atom is a short atom, whereas ISO BMFF specifies
|
||||||
|
* it's a full atom. joy joy joy */
|
||||||
|
if (qtdemux->major_brand == FOURCC_qt__)
|
||||||
|
qtdemux_parse_container (qtdemux, node, buffer + 8, end);
|
||||||
|
else
|
||||||
qtdemux_parse_container (qtdemux, node, buffer + 12, end);
|
qtdemux_parse_container (qtdemux, node, buffer + 12, end);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue