mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-02 12:32:29 +00:00
qtdemux: support some more mpeg-4 fourcc variants
This commit is contained in:
parent
662ec520ae
commit
9f7570f132
2 changed files with 13 additions and 3 deletions
|
@ -4689,12 +4689,15 @@ qtdemux_parse_node (GstQTDemux * qtdemux, GNode * node, const guint8 * buffer,
|
|||
}
|
||||
case FOURCC_mp4v:
|
||||
case FOURCC_MP4V:
|
||||
case FOURCC_fmp4:
|
||||
case FOURCC_FMP4:
|
||||
{
|
||||
const guint8 *buf;
|
||||
guint32 version;
|
||||
int tlen;
|
||||
|
||||
GST_DEBUG_OBJECT (qtdemux, "parsing in mp4v");
|
||||
GST_DEBUG_OBJECT (qtdemux, "parsing in %" GST_FOURCC_FORMAT,
|
||||
GST_FOURCC_ARGS (fourcc));
|
||||
version = QT_UINT32 (buffer + 16);
|
||||
GST_DEBUG_OBJECT (qtdemux, "version %08x", version);
|
||||
if (1 || version == 0x00000000) {
|
||||
|
@ -6439,13 +6442,17 @@ qtdemux_parse_trak (GstQTDemux * qtdemux, GNode * trak)
|
|||
}
|
||||
case FOURCC_mp4v:
|
||||
case FOURCC_MP4V:
|
||||
case FOURCC_fmp4:
|
||||
case FOURCC_FMP4:
|
||||
{
|
||||
GNode *glbl;
|
||||
|
||||
GST_DEBUG_OBJECT (qtdemux, "found mp4v");
|
||||
GST_DEBUG_OBJECT (qtdemux, "found %" GST_FOURCC_FORMAT,
|
||||
GST_FOURCC_ARGS (fourcc));
|
||||
|
||||
/* codec data might be in glbl extension atom */
|
||||
glbl = qtdemux_tree_get_child_by_type (mp4v, FOURCC_glbl);
|
||||
glbl = mp4v ?
|
||||
qtdemux_tree_get_child_by_type (mp4v, FOURCC_glbl) : NULL;
|
||||
if (glbl) {
|
||||
guint8 *data;
|
||||
GstBuffer *buf;
|
||||
|
@ -6463,6 +6470,7 @@ qtdemux_parse_trak (GstQTDemux * qtdemux, GNode * trak)
|
|||
gst_buffer_unref (buf);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case FOURCC_mjp2:
|
||||
{
|
||||
|
|
|
@ -75,6 +75,8 @@ G_BEGIN_DECLS
|
|||
#define FOURCC_mp4a GST_MAKE_FOURCC('m','p','4','a')
|
||||
#define FOURCC_mp4v GST_MAKE_FOURCC('m','p','4','v')
|
||||
#define FOURCC_MP4V GST_MAKE_FOURCC('M','P','4','V')
|
||||
#define FOURCC_fmp4 GST_MAKE_FOURCC('f','m','p','4')
|
||||
#define FOURCC_FMP4 GST_MAKE_FOURCC('F','M','P','4')
|
||||
#define FOURCC_glbl GST_MAKE_FOURCC('g','l','b','l')
|
||||
#define FOURCC_wave GST_MAKE_FOURCC('w','a','v','e')
|
||||
#define FOURCC_appl GST_MAKE_FOURCC('a','p','p','l')
|
||||
|
|
Loading…
Reference in a new issue