dashdemux: Store box fourccs in the header at a central place

https://bugzilla.gnome.org/show_bug.cgi?id=741104
This commit is contained in:
Sebastian Dröge 2016-04-07 12:57:13 +03:00
parent 0b0a1a52d3
commit c4ad30d6b4
3 changed files with 6 additions and 7 deletions

View File

@ -1835,8 +1835,8 @@ gst_dash_demux_parse_isobmff (GstAdaptiveDemux * demux,
gst_buffer_unmap (buffer, &map); gst_buffer_unmap (buffer, &map);
/* mdat? Push all we have and wait for it to be over */ /* mdat? Push all we have and wait for it to be over */
if (dash_stream->isobmff_parser.current_fourcc == GST_MAKE_FOURCC ('m', 'd', if (dash_stream->isobmff_parser.current_fourcc == GST_ISOFF_FOURCC_MDAT
'a', 't') || dash_stream->isobmff_parser.current_size == -1) { || dash_stream->isobmff_parser.current_size == -1) {
/* Nothing here, we just go out */ /* Nothing here, we just go out */
GST_LOG_OBJECT (stream->pad, GST_LOG_OBJECT (stream->pad,
"box %" GST_FOURCC_FORMAT " at offset %" G_GUINT64_FORMAT " size %" "box %" GST_FOURCC_FORMAT " at offset %" G_GUINT64_FORMAT " size %"

View File

@ -93,7 +93,7 @@ gst_isoff_parse_box_header (GstByteReader * reader, guint32 * type,
*size = size_field; *size = size_field;
} }
if (*type == GST_MAKE_FOURCC ('u', 'u', 'i', 'd')) { if (*type == GST_ISOFF_FOURCC_UUID) {
if (gst_byte_reader_get_remaining (reader) < 16) if (gst_byte_reader_get_remaining (reader) < 16)
goto not_enough_data; goto not_enough_data;

View File

@ -39,11 +39,10 @@ typedef enum {
gboolean gst_isoff_parse_box_header (GstByteReader * reader, guint32 * type, guint8 extended_type[16], guint * header_size, guint64 * size); gboolean gst_isoff_parse_box_header (GstByteReader * reader, guint32 * type, guint8 extended_type[16], guint * header_size, guint64 * size);
/* this is the minimum size, it can be larger if it #define GST_ISOFF_FOURCC_UUID GST_MAKE_FOURCC('u','u','i','d')
* uses extended size or type */ #define GST_ISOFF_FOURCC_MDAT GST_MAKE_FOURCC('m','d','a','t')
#define GST_ISOFF_FULL_BOX_SIZE 12
#define GST_ISOFF_FOURCC_SIDX GST_MAKE_FOURCC('s','i','d','x') #define GST_ISOFF_FOURCC_SIDX GST_MAKE_FOURCC('s','i','d','x')
typedef struct _GstSidxBoxEntry typedef struct _GstSidxBoxEntry
{ {
gboolean ref_type; gboolean ref_type;