mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-08 16:35:40 +00:00
mxftypes: Add support for a few additional fields
According to SMPTE ST 377-1:2019 Currently still unused. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7626>
This commit is contained in:
parent
1b81c9ca87
commit
384cb299ec
2 changed files with 41 additions and 0 deletions
|
@ -1273,6 +1273,41 @@ mxf_index_table_segment_parse (const MXFUL * ul,
|
|||
}
|
||||
break;
|
||||
}
|
||||
case 0x3f0f:
|
||||
if (tag_size != 8)
|
||||
goto error;
|
||||
segment->ext_start_offset = GST_READ_UINT64_BE (tag_data);
|
||||
GST_DEBUG (" ext start offset = %" G_GUINT64_FORMAT,
|
||||
segment->ext_start_offset);
|
||||
break;
|
||||
case 0x3f10:
|
||||
if (tag_size != 8)
|
||||
goto error;
|
||||
segment->vbe_byte_count = GST_READ_UINT64_BE (tag_data);
|
||||
GST_DEBUG (" vbe byte count = %" G_GUINT64_FORMAT,
|
||||
segment->vbe_byte_count);
|
||||
break;
|
||||
case 0x3f11:
|
||||
if (tag_size != 1)
|
||||
goto error;
|
||||
segment->single_index_location = (GST_READ_UINT8 (tag_data) != 0);
|
||||
GST_DEBUG (" single index location = %d",
|
||||
segment->single_index_location);
|
||||
break;
|
||||
case 0x3f12:
|
||||
if (tag_size != 1)
|
||||
goto error;
|
||||
segment->single_essence_location = (GST_READ_UINT8 (tag_data) != 0);
|
||||
GST_DEBUG (" single essence location = %d",
|
||||
segment->single_essence_location);
|
||||
break;
|
||||
case 0x3f13:
|
||||
if (tag_size != 1)
|
||||
goto error;
|
||||
segment->forward_index_direction = (GST_READ_UINT8 (tag_data) != 0);
|
||||
GST_DEBUG (" forward index direction = %d",
|
||||
segment->forward_index_direction);
|
||||
break;
|
||||
default:
|
||||
GST_WARNING
|
||||
("Unknown local tag 0x%04x of size %d in index table segment", tag,
|
||||
|
|
|
@ -168,6 +168,12 @@ typedef struct {
|
|||
guint32 n_index_entries;
|
||||
MXFIndexEntry *index_entries;
|
||||
|
||||
guint64 ext_start_offset;
|
||||
guint64 vbe_byte_count;
|
||||
gboolean single_index_location;
|
||||
gboolean single_essence_location;
|
||||
gboolean forward_index_direction;
|
||||
|
||||
/* Computed fields (i.e. not present in file) */
|
||||
|
||||
/* Initial essence offset covered by this segment */
|
||||
|
|
Loading…
Reference in a new issue