mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-28 19:20:35 +00:00
gst/mxf/: Use guint instead of guint64 or gsize for all buffer sizes and use correct format strings for them. Only lo...
Original commit message from CVS: * gst/mxf/mxfaes-bwf.c: (mxf_metadata_wave_audio_essence_descriptor_parse): * gst/mxf/mxfaes-bwf.h: * gst/mxf/mxfdemux.c: (gst_mxf_demux_pull_range), (gst_mxf_demux_pull_klv_packet), (gst_mxf_demux_parse_footer_metadata), (gst_mxf_demux_handle_klv_packet), (gst_mxf_demux_pull_and_handle_klv_packet), (gst_mxf_demux_chain): * gst/mxf/mxfmpeg.c: (mxf_metadata_mpeg_video_descriptor_parse): * gst/mxf/mxfmpeg.h: * gst/mxf/mxfparse.c: (mxf_timestamp_parse), (mxf_fraction_parse), (mxf_utf16_to_utf8), (mxf_product_version_parse), (mxf_partition_pack_parse), (mxf_primer_pack_parse), (mxf_local_tag_parse), (mxf_metadata_preface_parse), (mxf_metadata_identification_parse), (mxf_metadata_content_storage_parse), (mxf_metadata_essence_container_data_parse), (mxf_metadata_generic_package_parse), (mxf_metadata_track_parse), (mxf_metadata_sequence_parse), (mxf_metadata_structural_component_parse), (mxf_metadata_generic_descriptor_parse), (mxf_metadata_file_descriptor_parse), (mxf_metadata_generic_sound_essence_descriptor_parse), (mxf_metadata_generic_picture_essence_descriptor_parse), (mxf_metadata_cdci_picture_essence_descriptor_parse), (mxf_metadata_multiple_descriptor_parse), (mxf_metadata_locator_parse): * gst/mxf/mxfparse.h: Use guint instead of guint64 or gsize for all buffer sizes and use correct format strings for them. Only local tag set sizes are still guint16 as they can't be larger. Only allow KLV packets of sizes below 1<<32 as GStreamer only uses guint for buffer sizes. The MXF standard allows packet sizes up to 1<<64.
This commit is contained in:
parent
ffa8f53c26
commit
f336a478ba
8 changed files with 115 additions and 69 deletions
38
ChangeLog
38
ChangeLog
|
@ -1,3 +1,41 @@
|
|||
2008-11-22 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||
|
||||
* gst/mxf/mxfaes-bwf.c:
|
||||
(mxf_metadata_wave_audio_essence_descriptor_parse):
|
||||
* gst/mxf/mxfaes-bwf.h:
|
||||
* gst/mxf/mxfdemux.c: (gst_mxf_demux_pull_range),
|
||||
(gst_mxf_demux_pull_klv_packet),
|
||||
(gst_mxf_demux_parse_footer_metadata),
|
||||
(gst_mxf_demux_handle_klv_packet),
|
||||
(gst_mxf_demux_pull_and_handle_klv_packet), (gst_mxf_demux_chain):
|
||||
* gst/mxf/mxfmpeg.c: (mxf_metadata_mpeg_video_descriptor_parse):
|
||||
* gst/mxf/mxfmpeg.h:
|
||||
* gst/mxf/mxfparse.c: (mxf_timestamp_parse), (mxf_fraction_parse),
|
||||
(mxf_utf16_to_utf8), (mxf_product_version_parse),
|
||||
(mxf_partition_pack_parse), (mxf_primer_pack_parse),
|
||||
(mxf_local_tag_parse), (mxf_metadata_preface_parse),
|
||||
(mxf_metadata_identification_parse),
|
||||
(mxf_metadata_content_storage_parse),
|
||||
(mxf_metadata_essence_container_data_parse),
|
||||
(mxf_metadata_generic_package_parse), (mxf_metadata_track_parse),
|
||||
(mxf_metadata_sequence_parse),
|
||||
(mxf_metadata_structural_component_parse),
|
||||
(mxf_metadata_generic_descriptor_parse),
|
||||
(mxf_metadata_file_descriptor_parse),
|
||||
(mxf_metadata_generic_sound_essence_descriptor_parse),
|
||||
(mxf_metadata_generic_picture_essence_descriptor_parse),
|
||||
(mxf_metadata_cdci_picture_essence_descriptor_parse),
|
||||
(mxf_metadata_multiple_descriptor_parse),
|
||||
(mxf_metadata_locator_parse):
|
||||
* gst/mxf/mxfparse.h:
|
||||
Use guint instead of guint64 or gsize for all buffer sizes and
|
||||
use correct format strings for them. Only local tag set sizes
|
||||
are still guint16 as they can't be larger.
|
||||
|
||||
Only allow KLV packets of sizes below 1<<32 as GStreamer only uses
|
||||
guint for buffer sizes. The MXF standard allows packet sizes up
|
||||
to 1<<64.
|
||||
|
||||
2008-11-22 Wim Taymans <wim.taymans@collabora.co.uk>
|
||||
|
||||
* gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_release_pad):
|
||||
|
|
|
@ -43,7 +43,7 @@ GST_DEBUG_CATEGORY_EXTERN (mxf_debug);
|
|||
gboolean
|
||||
mxf_metadata_wave_audio_essence_descriptor_parse (const MXFUL * key,
|
||||
MXFMetadataWaveAudioEssenceDescriptor * descriptor,
|
||||
const MXFPrimerPack * primer, guint16 type, const guint8 * data, gsize size)
|
||||
const MXFPrimerPack * primer, guint16 type, const guint8 * data, guint size)
|
||||
{
|
||||
guint16 tag, tag_size;
|
||||
const guint8 *tag_data;
|
||||
|
@ -256,6 +256,7 @@ static const MXFUL mxf_sound_essence_compression_uncompressed =
|
|||
{ {0x06, 0x0E, 0x2B, 0x34, 0x04, 0x01, 0x01, 0x01, 0x04, 0x02, 0x02, 0x01,
|
||||
0x7F, 0x00, 0x00, 0x00}
|
||||
};
|
||||
|
||||
static const MXFUL mxf_sound_essence_compression_aiff =
|
||||
{ {0x06, 0x0E, 0x2B, 0x34, 0x04, 0x01, 0x01, 0x07, 0x04, 0x02, 0x02, 0x01,
|
||||
0x7E, 0x00, 0x00, 0x00}
|
||||
|
|
|
@ -55,7 +55,7 @@ typedef struct {
|
|||
guint16 peak_envelope_data_length;
|
||||
} MXFMetadataWaveAudioEssenceDescriptor;
|
||||
|
||||
gboolean mxf_metadata_wave_audio_essence_descriptor_parse (const MXFUL *key, MXFMetadataWaveAudioEssenceDescriptor *descriptor, const MXFPrimerPack *primer, guint16 type, const guint8 *data, gsize size);
|
||||
gboolean mxf_metadata_wave_audio_essence_descriptor_parse (const MXFUL *key, MXFMetadataWaveAudioEssenceDescriptor *descriptor, const MXFPrimerPack *primer, guint16 type, const guint8 *data, guint size);
|
||||
void mxf_metadata_wave_audio_essence_descriptor_reset (MXFMetadataWaveAudioEssenceDescriptor *descriptor);
|
||||
|
||||
gboolean mxf_is_aes_bwf_essence_track (const MXFMetadataTrack *track);
|
||||
|
|
|
@ -376,7 +376,7 @@ gst_mxf_demux_pull_range (GstMXFDemux * demux, guint64 offset,
|
|||
ret = gst_pad_pull_range (demux->sinkpad, offset, size, buffer);
|
||||
if (G_UNLIKELY (ret != GST_FLOW_OK)) {
|
||||
GST_WARNING_OBJECT (demux,
|
||||
"failed when pulling %d bytes from offset %" G_GUINT64_FORMAT ": %s",
|
||||
"failed when pulling %u bytes from offset %" G_GUINT64_FORMAT ": %s",
|
||||
size, offset, gst_flow_get_name (ret));
|
||||
*buffer = NULL;
|
||||
return ret;
|
||||
|
@ -384,7 +384,7 @@ gst_mxf_demux_pull_range (GstMXFDemux * demux, guint64 offset,
|
|||
|
||||
if (G_UNLIKELY (*buffer && GST_BUFFER_SIZE (*buffer) != size)) {
|
||||
GST_WARNING_OBJECT (demux,
|
||||
"partial pull got %d when expecting %d from offset %" G_GUINT64_FORMAT,
|
||||
"partial pull got %u when expecting %u from offset %" G_GUINT64_FORMAT,
|
||||
GST_BUFFER_SIZE (*buffer), size, offset);
|
||||
gst_buffer_unref (*buffer);
|
||||
ret = GST_FLOW_UNEXPECTED;
|
||||
|
@ -1127,9 +1127,8 @@ gst_mxf_demux_handle_header_metadata_resolve_references (GstMXFDemux * demux)
|
|||
MXFMetadataEssenceContainerData, i);
|
||||
|
||||
for (j = 0; j < demux->content_storage.n_essence_container_data; j++) {
|
||||
if (mxf_ul_is_equal (&demux->
|
||||
content_storage.essence_container_data_uids[j],
|
||||
&data->instance_uid)) {
|
||||
if (mxf_ul_is_equal (&demux->content_storage.
|
||||
essence_container_data_uids[j], &data->instance_uid)) {
|
||||
demux->content_storage.essence_container_data[j] = data;
|
||||
break;
|
||||
}
|
||||
|
@ -1414,8 +1413,8 @@ gst_mxf_demux_handle_header_metadata_resolve_references (GstMXFDemux * demux)
|
|||
continue;
|
||||
|
||||
type =
|
||||
mxf_metadata_track_identifier_parse (&component->
|
||||
data_definition);
|
||||
mxf_metadata_track_identifier_parse
|
||||
(&component->data_definition);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
|
@ -1977,12 +1976,12 @@ gst_mxf_demux_handle_index_table_segment (GstMXFDemux * demux,
|
|||
|
||||
static GstFlowReturn
|
||||
gst_mxf_demux_pull_klv_packet (GstMXFDemux * demux, guint64 offset, MXFUL * key,
|
||||
GstBuffer ** outbuf, guint64 * read)
|
||||
GstBuffer ** outbuf, guint * read)
|
||||
{
|
||||
GstBuffer *buffer = NULL;
|
||||
const guint8 *data;
|
||||
guint64 data_offset = 0;
|
||||
guint64 length;
|
||||
guint length;
|
||||
gchar key_str[48];
|
||||
GstFlowReturn ret = GST_FLOW_OK;
|
||||
|
||||
|
@ -2015,10 +2014,14 @@ gst_mxf_demux_pull_klv_packet (GstMXFDemux * demux, guint64 offset, MXFUL * key,
|
|||
|
||||
gst_buffer_unref (buffer);
|
||||
|
||||
/* Must be at most 8 according to SMPTE-379M 5.3.4 */
|
||||
/* Must be at most 8 according to SMPTE-379M 5.3.4 and
|
||||
* GStreamer buffers can only have a 4 bytes length */
|
||||
if (slen > 8) {
|
||||
GST_ERROR_OBJECT (demux, "Invalid KLV packet length: %" G_GUINT64_FORMAT,
|
||||
slen);
|
||||
GST_ERROR_OBJECT (demux, "Invalid KLV packet length: %u", slen);
|
||||
ret = GST_FLOW_ERROR;
|
||||
goto beach;
|
||||
} else if (slen > 4) {
|
||||
GST_ERROR_OBJECT (demux, "Unsupported KLV packet length: %u", slen);
|
||||
ret = GST_FLOW_ERROR;
|
||||
goto beach;
|
||||
}
|
||||
|
@ -2064,7 +2067,7 @@ gst_mxf_demux_parse_footer_metadata (GstMXFDemux * demux)
|
|||
guint64 offset, old_offset = demux->offset;
|
||||
MXFUL key;
|
||||
GstBuffer *buffer = NULL;
|
||||
guint64 read = 0;
|
||||
guint read = 0;
|
||||
GstFlowReturn ret = GST_FLOW_OK;
|
||||
|
||||
memcpy (&partition, &demux->partition, sizeof (MXFPartitionPack));
|
||||
|
@ -2253,11 +2256,11 @@ gst_mxf_demux_handle_klv_packet (GstMXFDemux * demux, const MXFUL * key,
|
|||
ret = gst_mxf_demux_handle_index_table_segment (demux, key, buffer);
|
||||
} else if (mxf_is_fill (key)) {
|
||||
GST_DEBUG_OBJECT (demux,
|
||||
"Skipping filler packet of size %" G_GUINT64_FORMAT " at offset %"
|
||||
"Skipping filler packet of size %u at offset %"
|
||||
G_GUINT64_FORMAT, GST_BUFFER_SIZE (buffer), demux->offset);
|
||||
} else {
|
||||
GST_DEBUG_OBJECT (demux,
|
||||
"Skipping unknown packet of size %" G_GUINT64_FORMAT " at offset %"
|
||||
"Skipping unknown packet of size %u at offset %"
|
||||
G_GUINT64_FORMAT ", key: %s", GST_BUFFER_SIZE (buffer), demux->offset,
|
||||
mxf_ul_to_string (key, key_str));
|
||||
}
|
||||
|
@ -2272,7 +2275,7 @@ gst_mxf_demux_pull_and_handle_klv_packet (GstMXFDemux * demux)
|
|||
GstBuffer *buffer = NULL;
|
||||
MXFUL key;
|
||||
GstFlowReturn ret = GST_FLOW_OK;
|
||||
guint64 read = 0;
|
||||
guint read = 0;
|
||||
|
||||
ret =
|
||||
gst_mxf_demux_pull_klv_packet (demux, demux->offset, &key, &buffer,
|
||||
|
@ -2402,14 +2405,14 @@ gst_mxf_demux_chain (GstPad * pad, GstBuffer * inbuf)
|
|||
GstMXFDemux *demux = NULL;
|
||||
MXFUL key;
|
||||
const guint8 *data = NULL;
|
||||
guint64 length = 0;
|
||||
guint length = 0;
|
||||
guint64 offset = 0;
|
||||
GstBuffer *buffer = NULL;
|
||||
gchar key_str[48];
|
||||
|
||||
demux = GST_MXF_DEMUX (gst_pad_get_parent (pad));
|
||||
|
||||
GST_LOG_OBJECT (demux, "received buffer of %d bytes at offset %"
|
||||
GST_LOG_OBJECT (demux, "received buffer of %u bytes at offset %"
|
||||
G_GUINT64_FORMAT, GST_BUFFER_SIZE (inbuf), GST_BUFFER_OFFSET (inbuf));
|
||||
|
||||
if (G_UNLIKELY (GST_BUFFER_OFFSET (inbuf) == 0)) {
|
||||
|
@ -2497,10 +2500,14 @@ gst_mxf_demux_chain (GstPad * pad, GstBuffer * inbuf)
|
|||
|
||||
offset = 16 + 1 + slen;
|
||||
|
||||
/* Must be at most 8 according to SMPTE-379M 5.3.4 */
|
||||
/* Must be at most 8 according to SMPTE-379M 5.3.4 and
|
||||
* GStreamer buffers can only have a 4 bytes length */
|
||||
if (slen > 8) {
|
||||
GST_ERROR_OBJECT (demux,
|
||||
"Invalid KLV packet length: %" G_GUINT64_FORMAT, slen);
|
||||
GST_ERROR_OBJECT (demux, "Invalid KLV packet length: %u", slen);
|
||||
ret = GST_FLOW_ERROR;
|
||||
break;
|
||||
} else if (slen > 4) {
|
||||
GST_ERROR_OBJECT (demux, "Unsupported KLV packet length: %u", slen);
|
||||
ret = GST_FLOW_ERROR;
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -91,7 +91,7 @@ static const guint8 _profile_and_level_ul[] = {
|
|||
gboolean
|
||||
mxf_metadata_mpeg_video_descriptor_parse (const MXFUL * key,
|
||||
MXFMetadataMPEGVideoDescriptor * descriptor,
|
||||
const MXFPrimerPack * primer, guint16 type, const guint8 * data, gsize size)
|
||||
const MXFPrimerPack * primer, guint16 type, const guint8 * data, guint size)
|
||||
{
|
||||
guint16 tag, tag_size;
|
||||
const guint8 *tag_data;
|
||||
|
|
|
@ -49,7 +49,7 @@ typedef struct {
|
|||
guint8 profile_and_level;
|
||||
} MXFMetadataMPEGVideoDescriptor;
|
||||
|
||||
gboolean mxf_metadata_mpeg_video_descriptor_parse (const MXFUL *key, MXFMetadataMPEGVideoDescriptor *descriptor, const MXFPrimerPack *primer, guint16 type, const guint8 *data, gsize size);
|
||||
gboolean mxf_metadata_mpeg_video_descriptor_parse (const MXFUL *key, MXFMetadataMPEGVideoDescriptor *descriptor, const MXFPrimerPack *primer, guint16 type, const guint8 *data, guint size);
|
||||
void mxf_metadata_mpeg_video_descriptor_reset (MXFMetadataMPEGVideoDescriptor *descriptor);
|
||||
|
||||
gboolean mxf_is_mpeg_video_essence_track (const MXFMetadataTrack *track);
|
||||
|
|
|
@ -281,7 +281,7 @@ gst_mxf_ul_equal (const MXFUL * a, const MXFUL * b)
|
|||
}
|
||||
|
||||
gboolean
|
||||
mxf_timestamp_parse (MXFTimestamp * timestamp, const guint8 * data, gsize size)
|
||||
mxf_timestamp_parse (MXFTimestamp * timestamp, const guint8 * data, guint size)
|
||||
{
|
||||
g_return_val_if_fail (data != NULL, FALSE);
|
||||
g_return_val_if_fail (timestamp != NULL, FALSE);
|
||||
|
@ -332,7 +332,7 @@ mxf_timestamp_compare (const MXFTimestamp * a, const MXFTimestamp * b)
|
|||
}
|
||||
|
||||
gboolean
|
||||
mxf_fraction_parse (MXFFraction * fraction, const guint8 * data, guint16 size)
|
||||
mxf_fraction_parse (MXFFraction * fraction, const guint8 * data, guint size)
|
||||
{
|
||||
g_return_val_if_fail (fraction != NULL, FALSE);
|
||||
g_return_val_if_fail (data != NULL, FALSE);
|
||||
|
@ -349,7 +349,7 @@ mxf_fraction_parse (MXFFraction * fraction, const guint8 * data, guint16 size)
|
|||
}
|
||||
|
||||
gchar *
|
||||
mxf_utf16_to_utf8 (const guint8 * data, guint16 size)
|
||||
mxf_utf16_to_utf8 (const guint8 * data, guint size)
|
||||
{
|
||||
gchar *ret;
|
||||
GError *error = NULL;
|
||||
|
@ -369,7 +369,7 @@ mxf_utf16_to_utf8 (const guint8 * data, guint16 size)
|
|||
|
||||
gboolean
|
||||
mxf_product_version_parse (MXFProductVersion * product_version,
|
||||
const guint8 * data, gsize size)
|
||||
const guint8 * data, guint size)
|
||||
{
|
||||
g_return_val_if_fail (product_version != NULL, FALSE);
|
||||
g_return_val_if_fail (data != NULL, FALSE);
|
||||
|
@ -391,7 +391,7 @@ mxf_product_version_parse (MXFProductVersion * product_version,
|
|||
/* SMPTE 377M 6.1, Table 2 */
|
||||
gboolean
|
||||
mxf_partition_pack_parse (const MXFUL * key, MXFPartitionPack * pack,
|
||||
const guint8 * data, gsize size)
|
||||
const guint8 * data, guint size)
|
||||
{
|
||||
gint i;
|
||||
gchar str[48];
|
||||
|
@ -536,7 +536,7 @@ _mxf_mapping_ul_free (MXFUL * ul)
|
|||
|
||||
gboolean
|
||||
mxf_primer_pack_parse (const MXFUL * key, MXFPrimerPack * pack,
|
||||
const guint8 * data, gsize size)
|
||||
const guint8 * data, guint size)
|
||||
{
|
||||
gint i;
|
||||
guint32 n;
|
||||
|
@ -604,7 +604,7 @@ mxf_primer_pack_reset (MXFPrimerPack * pack)
|
|||
/* structural metadata parsing */
|
||||
|
||||
gboolean
|
||||
mxf_local_tag_parse (const guint8 * data, gsize size, guint16 * tag,
|
||||
mxf_local_tag_parse (const guint8 * data, guint size, guint16 * tag,
|
||||
guint16 * tag_size, const guint8 ** tag_data)
|
||||
{
|
||||
g_return_val_if_fail (data != NULL, FALSE);
|
||||
|
@ -677,7 +677,7 @@ gst_metadata_add_custom_tag (const MXFPrimerPack * primer,
|
|||
gboolean
|
||||
mxf_metadata_preface_parse (const MXFUL * key,
|
||||
MXFMetadataPreface * preface, const MXFPrimerPack * primer,
|
||||
const guint8 * data, gsize size)
|
||||
const guint8 * data, guint size)
|
||||
{
|
||||
guint16 tag, tag_size;
|
||||
const guint8 *tag_data;
|
||||
|
@ -884,7 +884,7 @@ mxf_metadata_preface_reset (MXFMetadataPreface * preface)
|
|||
gboolean
|
||||
mxf_metadata_identification_parse (const MXFUL * key,
|
||||
MXFMetadataIdentification * identification,
|
||||
const MXFPrimerPack * primer, const guint8 * data, gsize size)
|
||||
const MXFPrimerPack * primer, const guint8 * data, guint size)
|
||||
{
|
||||
guint16 tag, tag_size;
|
||||
const guint8 *tag_data;
|
||||
|
@ -1031,7 +1031,7 @@ void mxf_metadata_identification_reset
|
|||
gboolean
|
||||
mxf_metadata_content_storage_parse (const MXFUL * key,
|
||||
MXFMetadataContentStorage * content_storage,
|
||||
const MXFPrimerPack * primer, const guint8 * data, gsize size)
|
||||
const MXFPrimerPack * primer, const guint8 * data, guint size)
|
||||
{
|
||||
guint16 tag, tag_size;
|
||||
const guint8 *tag_data;
|
||||
|
@ -1159,7 +1159,7 @@ void mxf_metadata_content_storage_reset
|
|||
gboolean
|
||||
mxf_metadata_essence_container_data_parse (const MXFUL * key,
|
||||
MXFMetadataEssenceContainerData * essence_container_data,
|
||||
const MXFPrimerPack * primer, const guint8 * data, gsize size)
|
||||
const MXFPrimerPack * primer, const guint8 * data, guint size)
|
||||
{
|
||||
guint16 tag, tag_size;
|
||||
const guint8 *tag_data;
|
||||
|
@ -1250,7 +1250,7 @@ void mxf_metadata_essence_container_data_reset
|
|||
gboolean
|
||||
mxf_metadata_generic_package_parse (const MXFUL * key,
|
||||
MXFMetadataGenericPackage * generic_package,
|
||||
const MXFPrimerPack * primer, const guint8 * data, gsize size)
|
||||
const MXFPrimerPack * primer, const guint8 * data, guint size)
|
||||
{
|
||||
guint16 tag, tag_size;
|
||||
const guint8 *tag_data;
|
||||
|
@ -1401,7 +1401,7 @@ void mxf_metadata_generic_package_reset
|
|||
gboolean
|
||||
mxf_metadata_track_parse (const MXFUL * key,
|
||||
MXFMetadataTrack * track, const MXFPrimerPack * primer,
|
||||
const guint8 * data, gsize size)
|
||||
const guint8 * data, guint size)
|
||||
{
|
||||
guint16 tag, tag_size;
|
||||
const guint8 *tag_data;
|
||||
|
@ -1556,7 +1556,7 @@ mxf_metadata_track_identifier_parse (const MXFUL * track_identifier)
|
|||
gboolean
|
||||
mxf_metadata_sequence_parse (const MXFUL * key,
|
||||
MXFMetadataSequence * sequence, const MXFPrimerPack * primer,
|
||||
const guint8 * data, gsize size)
|
||||
const guint8 * data, guint size)
|
||||
{
|
||||
guint16 tag, tag_size;
|
||||
const guint8 *tag_data;
|
||||
|
@ -1672,7 +1672,7 @@ mxf_metadata_sequence_reset (MXFMetadataSequence * sequence)
|
|||
gboolean
|
||||
mxf_metadata_structural_component_parse (const MXFUL * key,
|
||||
MXFMetadataStructuralComponent * component,
|
||||
const MXFPrimerPack * primer, guint16 type, const guint8 * data, gsize size)
|
||||
const MXFPrimerPack * primer, guint16 type, const guint8 * data, guint size)
|
||||
{
|
||||
guint16 tag, tag_size;
|
||||
const guint8 *tag_data;
|
||||
|
@ -1832,7 +1832,7 @@ void mxf_metadata_structural_component_reset
|
|||
gboolean
|
||||
mxf_metadata_generic_descriptor_parse (const MXFUL * key,
|
||||
MXFMetadataGenericDescriptor * descriptor,
|
||||
const MXFPrimerPack * primer, guint16 type, const guint8 * data, gsize size)
|
||||
const MXFPrimerPack * primer, guint16 type, const guint8 * data, guint size)
|
||||
{
|
||||
guint16 tag, tag_size;
|
||||
const guint8 *tag_data;
|
||||
|
@ -1936,7 +1936,7 @@ void mxf_metadata_generic_descriptor_reset
|
|||
gboolean
|
||||
mxf_metadata_file_descriptor_parse (const MXFUL * key,
|
||||
MXFMetadataFileDescriptor * descriptor,
|
||||
const MXFPrimerPack * primer, guint16 type, const guint8 * data, gsize size)
|
||||
const MXFPrimerPack * primer, guint16 type, const guint8 * data, guint size)
|
||||
{
|
||||
guint16 tag, tag_size;
|
||||
const guint8 *tag_data;
|
||||
|
@ -2035,7 +2035,7 @@ mxf_metadata_file_descriptor_reset (MXFMetadataFileDescriptor * descriptor)
|
|||
gboolean
|
||||
mxf_metadata_generic_sound_essence_descriptor_parse (const MXFUL * key,
|
||||
MXFMetadataGenericSoundEssenceDescriptor * descriptor,
|
||||
const MXFPrimerPack * primer, guint16 type, const guint8 * data, gsize size)
|
||||
const MXFPrimerPack * primer, guint16 type, const guint8 * data, guint size)
|
||||
{
|
||||
guint16 tag, tag_size;
|
||||
const guint8 *tag_data;
|
||||
|
@ -2152,7 +2152,7 @@ void mxf_metadata_generic_sound_essence_descriptor_reset
|
|||
gboolean
|
||||
mxf_metadata_generic_picture_essence_descriptor_parse (const MXFUL * key,
|
||||
MXFMetadataGenericPictureEssenceDescriptor * descriptor,
|
||||
const MXFPrimerPack * primer, guint16 type, const guint8 * data, gsize size)
|
||||
const MXFPrimerPack * primer, guint16 type, const guint8 * data, guint size)
|
||||
{
|
||||
guint16 tag, tag_size;
|
||||
const guint8 *tag_data;
|
||||
|
@ -2392,7 +2392,7 @@ void mxf_metadata_generic_picture_essence_descriptor_reset
|
|||
gboolean
|
||||
mxf_metadata_cdci_picture_essence_descriptor_parse (const MXFUL * key,
|
||||
MXFMetadataCDCIPictureEssenceDescriptor * descriptor,
|
||||
const MXFPrimerPack * primer, guint16 type, const guint8 * data, gsize size)
|
||||
const MXFPrimerPack * primer, guint16 type, const guint8 * data, guint size)
|
||||
{
|
||||
guint16 tag, tag_size;
|
||||
const guint8 *tag_data;
|
||||
|
@ -2523,7 +2523,7 @@ void mxf_metadata_cdci_picture_essence_descriptor_reset
|
|||
gboolean
|
||||
mxf_metadata_multiple_descriptor_parse (const MXFUL * key,
|
||||
MXFMetadataMultipleDescriptor * descriptor,
|
||||
const MXFPrimerPack * primer, guint16 type, const guint8 * data, gsize size)
|
||||
const MXFPrimerPack * primer, guint16 type, const guint8 * data, guint size)
|
||||
{
|
||||
guint16 tag, tag_size;
|
||||
const guint8 *tag_data;
|
||||
|
@ -2611,7 +2611,7 @@ void mxf_metadata_multiple_descriptor_reset
|
|||
gboolean
|
||||
mxf_metadata_locator_parse (const MXFUL * key,
|
||||
MXFMetadataLocator * locator, const MXFPrimerPack * primer,
|
||||
guint16 type, const guint8 * data, gsize size)
|
||||
guint16 type, const guint8 * data, guint size)
|
||||
{
|
||||
guint16 tag, tag_size;
|
||||
const guint8 *tag_data;
|
||||
|
|
|
@ -53,24 +53,24 @@ gboolean mxf_is_generic_container_essence_container_label (const MXFUL *key);
|
|||
|
||||
gboolean mxf_is_fill (const MXFUL *key);
|
||||
|
||||
gchar * mxf_utf16_to_utf8 (const guint8 * data, guint16 size);
|
||||
gchar * mxf_utf16_to_utf8 (const guint8 * data, guint size);
|
||||
|
||||
gboolean mxf_product_version_parse (MXFProductVersion * product_version,
|
||||
const guint8 * data, gsize size);
|
||||
const guint8 * data, guint size);
|
||||
|
||||
gboolean mxf_fraction_parse (MXFFraction *fraction, const guint8 *data, guint16 size);
|
||||
gboolean mxf_fraction_parse (MXFFraction *fraction, const guint8 *data, guint size);
|
||||
|
||||
gboolean mxf_timestamp_parse (MXFTimestamp * timestamp, const guint8 * data, gsize size);
|
||||
gboolean mxf_timestamp_parse (MXFTimestamp * timestamp, const guint8 * data, guint size);
|
||||
gboolean mxf_timestamp_is_unknown (const MXFTimestamp *a);
|
||||
gint mxf_timestamp_compare (const MXFTimestamp *a, const MXFTimestamp *b);
|
||||
|
||||
gboolean mxf_partition_pack_parse (const MXFUL *key, MXFPartitionPack *pack, const guint8 *data, gsize size);
|
||||
gboolean mxf_partition_pack_parse (const MXFUL *key, MXFPartitionPack *pack, const guint8 *data, guint size);
|
||||
void mxf_partition_pack_reset (MXFPartitionPack *pack);
|
||||
|
||||
gboolean mxf_primer_pack_parse (const MXFUL *key, MXFPrimerPack *pack, const guint8 *data, gsize size);
|
||||
gboolean mxf_primer_pack_parse (const MXFUL *key, MXFPrimerPack *pack, const guint8 *data, guint size);
|
||||
void mxf_primer_pack_reset (MXFPrimerPack *pack);
|
||||
|
||||
gboolean mxf_local_tag_parse (const guint8 * data, gsize size, guint16 * tag,
|
||||
gboolean mxf_local_tag_parse (const guint8 * data, guint size, guint16 * tag,
|
||||
guint16 * tag_size, const guint8 ** tag_data);
|
||||
void gst_mxf_local_tag_free (MXFLocalTag *tag);
|
||||
|
||||
|
@ -78,51 +78,51 @@ gboolean gst_metadata_add_custom_tag (const MXFPrimerPack *primer,
|
|||
guint16 tag, const guint8 *tag_data, guint16 tag_size,
|
||||
GHashTable **hash_table);
|
||||
|
||||
gboolean mxf_metadata_preface_parse (const MXFUL *key, MXFMetadataPreface *preface, const MXFPrimerPack *primer, const guint8 *data, gsize size);
|
||||
gboolean mxf_metadata_preface_parse (const MXFUL *key, MXFMetadataPreface *preface, const MXFPrimerPack *primer, const guint8 *data, guint size);
|
||||
void mxf_metadata_preface_reset (MXFMetadataPreface *preface);
|
||||
|
||||
gboolean mxf_metadata_identification_parse (const MXFUL *key, MXFMetadataIdentification *identification, const MXFPrimerPack *primer, const guint8 *data, gsize size);
|
||||
gboolean mxf_metadata_identification_parse (const MXFUL *key, MXFMetadataIdentification *identification, const MXFPrimerPack *primer, const guint8 *data, guint size);
|
||||
void mxf_metadata_identification_reset (MXFMetadataIdentification *identification);
|
||||
|
||||
gboolean mxf_metadata_content_storage_parse (const MXFUL *key, MXFMetadataContentStorage *content_storage, const MXFPrimerPack *primer, const guint8 *data, gsize size);
|
||||
gboolean mxf_metadata_content_storage_parse (const MXFUL *key, MXFMetadataContentStorage *content_storage, const MXFPrimerPack *primer, const guint8 *data, guint size);
|
||||
void mxf_metadata_content_storage_reset (MXFMetadataContentStorage *content_storage);
|
||||
|
||||
gboolean mxf_metadata_essence_container_data_parse (const MXFUL *key, MXFMetadataEssenceContainerData *essence_container_data, const MXFPrimerPack *primer, const guint8 *data, gsize size);
|
||||
gboolean mxf_metadata_essence_container_data_parse (const MXFUL *key, MXFMetadataEssenceContainerData *essence_container_data, const MXFPrimerPack *primer, const guint8 *data, guint size);
|
||||
void mxf_metadata_essence_container_data_reset (MXFMetadataEssenceContainerData *essence_container_data);
|
||||
|
||||
gboolean mxf_metadata_generic_package_parse (const MXFUL *key, MXFMetadataGenericPackage *generic_package, const MXFPrimerPack *primer, const guint8 *data, gsize size);
|
||||
gboolean mxf_metadata_generic_package_parse (const MXFUL *key, MXFMetadataGenericPackage *generic_package, const MXFPrimerPack *primer, const guint8 *data, guint size);
|
||||
void mxf_metadata_generic_package_reset (MXFMetadataGenericPackage *generic_package);
|
||||
|
||||
gboolean mxf_metadata_track_parse (const MXFUL *key, MXFMetadataTrack *track, const MXFPrimerPack *primer, const guint8 *data, gsize size);
|
||||
gboolean mxf_metadata_track_parse (const MXFUL *key, MXFMetadataTrack *track, const MXFPrimerPack *primer, const guint8 *data, guint size);
|
||||
void mxf_metadata_track_reset (MXFMetadataTrack *track);
|
||||
|
||||
MXFMetadataTrackType mxf_metadata_track_identifier_parse (const MXFUL *track_identifier);
|
||||
|
||||
gboolean mxf_metadata_sequence_parse (const MXFUL *key, MXFMetadataSequence *sequence, const MXFPrimerPack *primer, const guint8 *data, gsize size);
|
||||
gboolean mxf_metadata_sequence_parse (const MXFUL *key, MXFMetadataSequence *sequence, const MXFPrimerPack *primer, const guint8 *data, guint size);
|
||||
void mxf_metadata_sequence_reset (MXFMetadataSequence *sequence);
|
||||
|
||||
gboolean mxf_metadata_structural_component_parse (const MXFUL *key, MXFMetadataStructuralComponent *component, const MXFPrimerPack *primer, guint16 type, const guint8 *data, gsize size);
|
||||
gboolean mxf_metadata_structural_component_parse (const MXFUL *key, MXFMetadataStructuralComponent *component, const MXFPrimerPack *primer, guint16 type, const guint8 *data, guint size);
|
||||
void mxf_metadata_structural_component_reset (MXFMetadataStructuralComponent *component);
|
||||
|
||||
gboolean mxf_metadata_generic_descriptor_parse (const MXFUL *key, MXFMetadataGenericDescriptor *descriptor, const MXFPrimerPack *primer, guint16 type, const guint8 *data, gsize size);
|
||||
gboolean mxf_metadata_generic_descriptor_parse (const MXFUL *key, MXFMetadataGenericDescriptor *descriptor, const MXFPrimerPack *primer, guint16 type, const guint8 *data, guint size);
|
||||
void mxf_metadata_generic_descriptor_reset (MXFMetadataGenericDescriptor *descriptor);
|
||||
|
||||
gboolean mxf_metadata_file_descriptor_parse (const MXFUL *key, MXFMetadataFileDescriptor *descriptor, const MXFPrimerPack *primer, guint16 type, const guint8 *data, gsize size);
|
||||
gboolean mxf_metadata_file_descriptor_parse (const MXFUL *key, MXFMetadataFileDescriptor *descriptor, const MXFPrimerPack *primer, guint16 type, const guint8 *data, guint size);
|
||||
void mxf_metadata_file_descriptor_reset (MXFMetadataFileDescriptor *descriptor);
|
||||
|
||||
gboolean mxf_metadata_generic_sound_essence_descriptor_parse (const MXFUL *key, MXFMetadataGenericSoundEssenceDescriptor *descriptor, const MXFPrimerPack *primer, guint16 type, const guint8 *data, gsize size);
|
||||
gboolean mxf_metadata_generic_sound_essence_descriptor_parse (const MXFUL *key, MXFMetadataGenericSoundEssenceDescriptor *descriptor, const MXFPrimerPack *primer, guint16 type, const guint8 *data, guint size);
|
||||
void mxf_metadata_generic_sound_essence_descriptor_reset (MXFMetadataGenericSoundEssenceDescriptor *descriptor);
|
||||
|
||||
gboolean mxf_metadata_generic_picture_essence_descriptor_parse (const MXFUL *key, MXFMetadataGenericPictureEssenceDescriptor *descriptor, const MXFPrimerPack *primer, guint16 type, const guint8 *data, gsize size);
|
||||
gboolean mxf_metadata_generic_picture_essence_descriptor_parse (const MXFUL *key, MXFMetadataGenericPictureEssenceDescriptor *descriptor, const MXFPrimerPack *primer, guint16 type, const guint8 *data, guint size);
|
||||
void mxf_metadata_generic_picture_essence_descriptor_reset (MXFMetadataGenericPictureEssenceDescriptor *descriptor);
|
||||
|
||||
gboolean mxf_metadata_cdci_picture_essence_descriptor_parse (const MXFUL *key, MXFMetadataCDCIPictureEssenceDescriptor *descriptor, const MXFPrimerPack *primer, guint16 type, const guint8 *data, gsize size);
|
||||
gboolean mxf_metadata_cdci_picture_essence_descriptor_parse (const MXFUL *key, MXFMetadataCDCIPictureEssenceDescriptor *descriptor, const MXFPrimerPack *primer, guint16 type, const guint8 *data, guint size);
|
||||
void mxf_metadata_cdci_picture_essence_descriptor_reset (MXFMetadataCDCIPictureEssenceDescriptor *descriptor);
|
||||
|
||||
gboolean mxf_metadata_multiple_descriptor_parse (const MXFUL *key, MXFMetadataMultipleDescriptor *descriptor, const MXFPrimerPack *primer, guint16 type, const guint8 *data, gsize size);
|
||||
gboolean mxf_metadata_multiple_descriptor_parse (const MXFUL *key, MXFMetadataMultipleDescriptor *descriptor, const MXFPrimerPack *primer, guint16 type, const guint8 *data, guint size);
|
||||
void mxf_metadata_multiple_descriptor_reset (MXFMetadataMultipleDescriptor *descriptor);
|
||||
|
||||
gboolean mxf_metadata_locator_parse (const MXFUL *key, MXFMetadataLocator *locator, const MXFPrimerPack *primer, guint16 type, const guint8 *data, gsize size);
|
||||
gboolean mxf_metadata_locator_parse (const MXFUL *key, MXFMetadataLocator *locator, const MXFPrimerPack *primer, guint16 type, const guint8 *data, guint size);
|
||||
void mxf_metadata_locator_reset (MXFMetadataLocator *locator);
|
||||
|
||||
#endif /* __MXF_PARSE_H__ */
|
||||
|
|
Loading…
Reference in a new issue