mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 04:01:08 +00:00
gst/mxf/: Return FALSE when parsing a metadata tag failed.
Original commit message from CVS: * gst/mxf/mxfaes-bwf.c: (mxf_metadata_wave_audio_essence_descriptor_handle_tag), (mxf_metadata_aes3_audio_essence_descriptor_handle_tag): * gst/mxf/mxfmetadata.c: (mxf_metadata_multiple_descriptor_handle_tag): Return FALSE when parsing a metadata tag failed. Remove some useless return value assignments.
This commit is contained in:
parent
bc93b81dd5
commit
425fdc1664
3 changed files with 58 additions and 46 deletions
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
|||
2008-12-15 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||
|
||||
* gst/mxf/mxfaes-bwf.c:
|
||||
(mxf_metadata_wave_audio_essence_descriptor_handle_tag),
|
||||
(mxf_metadata_aes3_audio_essence_descriptor_handle_tag):
|
||||
* gst/mxf/mxfmetadata.c:
|
||||
(mxf_metadata_multiple_descriptor_handle_tag):
|
||||
Return FALSE when parsing a metadata tag failed.
|
||||
Remove some useless return value assignments.
|
||||
|
||||
2008-12-15 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||
|
||||
* gst/mxf/Makefile.am:
|
||||
|
|
|
@ -147,8 +147,8 @@ mxf_metadata_wave_audio_essence_descriptor_handle_tag (MXFMetadataBase *
|
|||
default:
|
||||
ret =
|
||||
MXF_METADATA_BASE_CLASS
|
||||
(mxf_metadata_wave_audio_essence_descriptor_parent_class)->
|
||||
handle_tag (metadata, primer, tag, tag_data, tag_size);
|
||||
(mxf_metadata_wave_audio_essence_descriptor_parent_class)->handle_tag
|
||||
(metadata, primer, tag, tag_data, tag_size);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -160,7 +160,7 @@ error:
|
|||
("Invalid wave audio essence descriptor local tag 0x%04x of size %u", tag,
|
||||
tag_size);
|
||||
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -201,8 +201,8 @@ mxf_metadata_aes3_audio_essence_descriptor_finalize (GstMiniObject * object)
|
|||
self->fixed_user_data = NULL;
|
||||
|
||||
GST_MINI_OBJECT_CLASS
|
||||
(mxf_metadata_aes3_audio_essence_descriptor_parent_class)->
|
||||
finalize (object);
|
||||
(mxf_metadata_aes3_audio_essence_descriptor_parent_class)->finalize
|
||||
(object);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
@ -220,21 +220,18 @@ mxf_metadata_aes3_audio_essence_descriptor_handle_tag (MXFMetadataBase *
|
|||
goto error;
|
||||
self->emphasis = GST_READ_UINT8 (tag_data);
|
||||
GST_DEBUG (" emphasis = %u", self->emphasis);
|
||||
ret = TRUE;
|
||||
break;
|
||||
case 0x3d0f:
|
||||
if (tag_size != 2)
|
||||
goto error;
|
||||
self->block_start_offset = GST_READ_UINT16_BE (tag_data);
|
||||
GST_DEBUG (" block start offset = %u", self->block_start_offset);
|
||||
ret = TRUE;
|
||||
break;
|
||||
case 0x3d08:
|
||||
if (tag_size != 1)
|
||||
goto error;
|
||||
self->auxiliary_bits_mode = GST_READ_UINT8 (tag_data);
|
||||
GST_DEBUG (" auxiliary bits mode = %u", self->auxiliary_bits_mode);
|
||||
ret = TRUE;
|
||||
break;
|
||||
case 0x3d10:{
|
||||
guint32 len;
|
||||
|
@ -267,7 +264,6 @@ mxf_metadata_aes3_audio_essence_descriptor_handle_tag (MXFMetadataBase *
|
|||
tag_size--;
|
||||
}
|
||||
|
||||
ret = TRUE;
|
||||
break;
|
||||
}
|
||||
case 0x3d11:{
|
||||
|
@ -331,7 +327,6 @@ mxf_metadata_aes3_audio_essence_descriptor_handle_tag (MXFMetadataBase *
|
|||
tag_size -= 24;
|
||||
}
|
||||
|
||||
ret = TRUE;
|
||||
break;
|
||||
}
|
||||
case 0x3d12:{
|
||||
|
@ -364,7 +359,6 @@ mxf_metadata_aes3_audio_essence_descriptor_handle_tag (MXFMetadataBase *
|
|||
tag_size--;
|
||||
}
|
||||
|
||||
ret = TRUE;
|
||||
break;
|
||||
}
|
||||
case 0x3d13:{
|
||||
|
@ -426,7 +420,6 @@ mxf_metadata_aes3_audio_essence_descriptor_handle_tag (MXFMetadataBase *
|
|||
tag_size -= 24;
|
||||
}
|
||||
|
||||
ret = TRUE;
|
||||
break;
|
||||
}
|
||||
/* TODO: linked timecode track / data_stream_number parsing, see
|
||||
|
@ -434,8 +427,8 @@ mxf_metadata_aes3_audio_essence_descriptor_handle_tag (MXFMetadataBase *
|
|||
default:
|
||||
ret =
|
||||
MXF_METADATA_BASE_CLASS
|
||||
(mxf_metadata_aes3_audio_essence_descriptor_parent_class)->
|
||||
handle_tag (metadata, primer, tag, tag_data, tag_size);
|
||||
(mxf_metadata_aes3_audio_essence_descriptor_parent_class)->handle_tag
|
||||
(metadata, primer, tag, tag_data, tag_size);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -447,7 +440,7 @@ error:
|
|||
("Invalid AES3 audio essence descriptor local tag 0x%04x of size %u", tag,
|
||||
tag_size);
|
||||
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -761,8 +754,9 @@ mxf_aes_bwf_create_caps (MXFMetadataGenericPackage * package,
|
|||
s = (MXFMetadataGenericSoundEssenceDescriptor *) track->descriptor[i];
|
||||
bwf = TRUE;
|
||||
break;
|
||||
} else if (MXF_IS_METADATA_GENERIC_SOUND_ESSENCE_DESCRIPTOR (track->
|
||||
descriptor[i])
|
||||
} else
|
||||
if (MXF_IS_METADATA_GENERIC_SOUND_ESSENCE_DESCRIPTOR (track->descriptor
|
||||
[i])
|
||||
&& (track->descriptor[i]->essence_container.u[14] == 0x03
|
||||
|| track->descriptor[i]->essence_container.u[14] == 0x04
|
||||
|| track->descriptor[i]->essence_container.u[14] == 0x09)) {
|
||||
|
|
|
@ -151,8 +151,8 @@ mxf_metadata_handle_tag (MXFMetadataBase * metadata, MXFPrimerPack * primer,
|
|||
break;
|
||||
default:
|
||||
ret =
|
||||
MXF_METADATA_BASE_CLASS (mxf_metadata_parent_class)->
|
||||
handle_tag (metadata, primer, tag, tag_data, tag_size);
|
||||
MXF_METADATA_BASE_CLASS (mxf_metadata_parent_class)->handle_tag
|
||||
(metadata, primer, tag, tag_data, tag_size);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -444,8 +444,9 @@ mxf_metadata_preface_handle_tag (MXFMetadataBase * metadata,
|
|||
}
|
||||
default:
|
||||
ret =
|
||||
MXF_METADATA_BASE_CLASS (mxf_metadata_preface_parent_class)->
|
||||
handle_tag (metadata, primer, tag, tag_data, tag_size);
|
||||
MXF_METADATA_BASE_CLASS
|
||||
(mxf_metadata_preface_parent_class)->handle_tag (metadata, primer,
|
||||
tag, tag_data, tag_size);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -503,8 +504,9 @@ mxf_metadata_preface_resolve (MXFMetadataBase * m, MXFMetadataBase ** metadata)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
return MXF_METADATA_BASE_CLASS (mxf_metadata_preface_parent_class)->
|
||||
resolve (m, metadata);
|
||||
return
|
||||
MXF_METADATA_BASE_CLASS (mxf_metadata_preface_parent_class)->resolve (m,
|
||||
metadata);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -798,8 +800,9 @@ mxf_metadata_content_storage_resolve (MXFMetadataBase * m,
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
return MXF_METADATA_BASE_CLASS (mxf_metadata_content_storage_parent_class)->
|
||||
resolve (m, metadata);
|
||||
return
|
||||
MXF_METADATA_BASE_CLASS
|
||||
(mxf_metadata_content_storage_parent_class)->resolve (m, metadata);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1076,8 +1079,9 @@ mxf_metadata_generic_package_resolve (MXFMetadataBase * m,
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
return MXF_METADATA_BASE_CLASS (mxf_metadata_generic_package_parent_class)->
|
||||
resolve (m, metadata);
|
||||
return
|
||||
MXF_METADATA_BASE_CLASS
|
||||
(mxf_metadata_generic_package_parent_class)->resolve (m, metadata);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1105,8 +1109,8 @@ mxf_metadata_material_package_resolve (MXFMetadataBase * m,
|
|||
MXFMetadataBase ** metadata)
|
||||
{
|
||||
gboolean ret =
|
||||
MXF_METADATA_BASE_CLASS (mxf_metadata_material_package_parent_class)->
|
||||
resolve (m, metadata);
|
||||
MXF_METADATA_BASE_CLASS
|
||||
(mxf_metadata_material_package_parent_class)->resolve (m, metadata);
|
||||
MXFMetadataGenericPackage *self = MXF_METADATA_GENERIC_PACKAGE (m);
|
||||
guint i;
|
||||
|
||||
|
@ -1221,8 +1225,9 @@ mxf_metadata_source_package_resolve (MXFMetadataBase * m,
|
|||
MXFMetadataGenericDescriptor *d = NULL;
|
||||
|
||||
if (mxf_ul_is_zero (&self->descriptors_uid))
|
||||
return MXF_METADATA_BASE_CLASS (mxf_metadata_source_package_parent_class)->
|
||||
resolve (m, metadata);
|
||||
return
|
||||
MXF_METADATA_BASE_CLASS
|
||||
(mxf_metadata_source_package_parent_class)->resolve (m, metadata);
|
||||
|
||||
while (*p) {
|
||||
current = *p;
|
||||
|
@ -1261,8 +1266,8 @@ mxf_metadata_source_package_resolve (MXFMetadataBase * m,
|
|||
}
|
||||
|
||||
ret =
|
||||
MXF_METADATA_BASE_CLASS (mxf_metadata_source_package_parent_class)->
|
||||
resolve (m, metadata);
|
||||
MXF_METADATA_BASE_CLASS
|
||||
(mxf_metadata_source_package_parent_class)->resolve (m, metadata);
|
||||
|
||||
for (i = 0; i < package->n_tracks; i++) {
|
||||
guint n_descriptor = 0, k = 0;
|
||||
|
@ -1721,8 +1726,9 @@ mxf_metadata_sequence_resolve (MXFMetadataBase * m, MXFMetadataBase ** metadata)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
return MXF_METADATA_BASE_CLASS (mxf_metadata_sequence_parent_class)->
|
||||
resolve (m, metadata);
|
||||
return
|
||||
MXF_METADATA_BASE_CLASS (mxf_metadata_sequence_parent_class)->resolve (m,
|
||||
metadata);
|
||||
|
||||
}
|
||||
|
||||
|
@ -1941,8 +1947,9 @@ mxf_metadata_source_clip_resolve (MXFMetadataBase * m,
|
|||
p++;
|
||||
}
|
||||
|
||||
return MXF_METADATA_BASE_CLASS (mxf_metadata_source_clip_parent_class)->
|
||||
resolve (m, metadata);
|
||||
return
|
||||
MXF_METADATA_BASE_CLASS (mxf_metadata_source_clip_parent_class)->resolve
|
||||
(m, metadata);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -2173,8 +2180,9 @@ mxf_metadata_dm_segment_resolve (MXFMetadataBase * m,
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
return MXF_METADATA_BASE_CLASS (mxf_metadata_dm_segment_parent_class)->
|
||||
resolve (m, metadata);
|
||||
return
|
||||
MXF_METADATA_BASE_CLASS (mxf_metadata_dm_segment_parent_class)->resolve
|
||||
(m, metadata);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -2298,8 +2306,8 @@ mxf_metadata_generic_descriptor_resolve (MXFMetadataBase * m,
|
|||
}
|
||||
|
||||
return
|
||||
MXF_METADATA_BASE_CLASS (mxf_metadata_generic_descriptor_parent_class)->
|
||||
resolve (m, metadata);
|
||||
MXF_METADATA_BASE_CLASS
|
||||
(mxf_metadata_generic_descriptor_parent_class)->resolve (m, metadata);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -3064,8 +3072,8 @@ mxf_metadata_multiple_descriptor_finalize (GstMiniObject * object)
|
|||
g_free (self->sub_descriptors);
|
||||
self->sub_descriptors = NULL;
|
||||
|
||||
GST_MINI_OBJECT_CLASS (mxf_metadata_multiple_descriptor_parent_class)->
|
||||
finalize (object);
|
||||
GST_MINI_OBJECT_CLASS
|
||||
(mxf_metadata_multiple_descriptor_parent_class)->finalize (object);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
@ -3125,7 +3133,7 @@ error:
|
|||
GST_ERROR ("Invalid multiple descriptor local tag 0x%04x of size %u", tag,
|
||||
tag_size);
|
||||
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
@ -3161,8 +3169,8 @@ mxf_metadata_multiple_descriptor_resolve (MXFMetadataBase * m,
|
|||
}
|
||||
|
||||
return
|
||||
MXF_METADATA_BASE_CLASS (mxf_metadata_multiple_descriptor_parent_class)->
|
||||
resolve (m, metadata);
|
||||
MXF_METADATA_BASE_CLASS
|
||||
(mxf_metadata_multiple_descriptor_parent_class)->resolve (m, metadata);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
Loading…
Reference in a new issue