parent
4063bb87e8
commit
cc277b4a26
@ -3331,6 +3331,7 @@ qtdemux_parse_container (GstQTDemux * qtdemux, GNode * node, const guint8 * buf,
|
|||||||
|
|
||||||
child = g_node_new ((guint8 *) buf);
|
child = g_node_new ((guint8 *) buf);
|
||||||
g_node_append (node, child);
|
g_node_append (node, child);
|
||||||
|
GST_LOG_OBJECT (qtdemux, "adding new node of len %d", len);
|
||||||
qtdemux_parse_node (qtdemux, child, buf, len);
|
qtdemux_parse_node (qtdemux, child, buf, len);
|
||||||
|
|
||||||
buf += len;
|
buf += len;
|
||||||
@ -5278,10 +5279,9 @@ qtdemux_parse_trak (GstQTDemux * qtdemux, GNode * trak)
|
|||||||
{
|
{
|
||||||
gint len = QT_UINT32 (stsd_data);
|
gint len = QT_UINT32 (stsd_data);
|
||||||
|
|
||||||
if (len > 0x34) {
|
if (len >= 132) {
|
||||||
GstBuffer *buf = gst_buffer_new_and_alloc (len - 0x34);
|
GstBuffer *buf = gst_buffer_new_and_alloc (36);
|
||||||
|
memcpy (GST_BUFFER_DATA (buf), stsd_data + 88, 36);
|
||||||
memcpy (GST_BUFFER_DATA (buf), stsd_data + 0x34, len - 0x34);
|
|
||||||
gst_caps_set_simple (stream->caps,
|
gst_caps_set_simple (stream->caps,
|
||||||
"codec_data", GST_TYPE_BUFFER, buf, NULL);
|
"codec_data", GST_TYPE_BUFFER, buf, NULL);
|
||||||
gst_buffer_unref (buf);
|
gst_buffer_unref (buf);
|
||||||
|
@ -86,6 +86,7 @@ static const QtNodeType qt_node_types[] = {
|
|||||||
{FOURCC_colr, "colr", 0,},
|
{FOURCC_colr, "colr", 0,},
|
||||||
{FOURCC_fiel, "fiel", 0,},
|
{FOURCC_fiel, "fiel", 0,},
|
||||||
{FOURCC_jp2x, "jp2x", 0,},
|
{FOURCC_jp2x, "jp2x", 0,},
|
||||||
|
{FOURCC_alac, "alac", 0,},
|
||||||
{FOURCC_wave, "wave", QT_FLAG_CONTAINER},
|
{FOURCC_wave, "wave", QT_FLAG_CONTAINER},
|
||||||
{FOURCC_appl, "appl", QT_FLAG_CONTAINER},
|
{FOURCC_appl, "appl", QT_FLAG_CONTAINER},
|
||||||
{FOURCC_esds, "esds", 0},
|
{FOURCC_esds, "esds", 0},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user