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:
Sebastian Dröge 2008-12-15 18:12:26 +00:00
parent bc93b81dd5
commit 425fdc1664
3 changed files with 58 additions and 46 deletions

View file

@ -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> 2008-12-15 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* gst/mxf/Makefile.am: * gst/mxf/Makefile.am:

View file

@ -147,8 +147,8 @@ mxf_metadata_wave_audio_essence_descriptor_handle_tag (MXFMetadataBase *
default: default:
ret = ret =
MXF_METADATA_BASE_CLASS MXF_METADATA_BASE_CLASS
(mxf_metadata_wave_audio_essence_descriptor_parent_class)-> (mxf_metadata_wave_audio_essence_descriptor_parent_class)->handle_tag
handle_tag (metadata, primer, tag, tag_data, tag_size); (metadata, primer, tag, tag_data, tag_size);
break; break;
} }
@ -160,7 +160,7 @@ error:
("Invalid wave audio essence descriptor local tag 0x%04x of size %u", tag, ("Invalid wave audio essence descriptor local tag 0x%04x of size %u", tag,
tag_size); tag_size);
return TRUE; return FALSE;
} }
static void static void
@ -201,8 +201,8 @@ mxf_metadata_aes3_audio_essence_descriptor_finalize (GstMiniObject * object)
self->fixed_user_data = NULL; self->fixed_user_data = NULL;
GST_MINI_OBJECT_CLASS GST_MINI_OBJECT_CLASS
(mxf_metadata_aes3_audio_essence_descriptor_parent_class)-> (mxf_metadata_aes3_audio_essence_descriptor_parent_class)->finalize
finalize (object); (object);
} }
static gboolean static gboolean
@ -220,21 +220,18 @@ mxf_metadata_aes3_audio_essence_descriptor_handle_tag (MXFMetadataBase *
goto error; goto error;
self->emphasis = GST_READ_UINT8 (tag_data); self->emphasis = GST_READ_UINT8 (tag_data);
GST_DEBUG (" emphasis = %u", self->emphasis); GST_DEBUG (" emphasis = %u", self->emphasis);
ret = TRUE;
break; break;
case 0x3d0f: case 0x3d0f:
if (tag_size != 2) if (tag_size != 2)
goto error; goto error;
self->block_start_offset = GST_READ_UINT16_BE (tag_data); self->block_start_offset = GST_READ_UINT16_BE (tag_data);
GST_DEBUG (" block start offset = %u", self->block_start_offset); GST_DEBUG (" block start offset = %u", self->block_start_offset);
ret = TRUE;
break; break;
case 0x3d08: case 0x3d08:
if (tag_size != 1) if (tag_size != 1)
goto error; goto error;
self->auxiliary_bits_mode = GST_READ_UINT8 (tag_data); self->auxiliary_bits_mode = GST_READ_UINT8 (tag_data);
GST_DEBUG (" auxiliary bits mode = %u", self->auxiliary_bits_mode); GST_DEBUG (" auxiliary bits mode = %u", self->auxiliary_bits_mode);
ret = TRUE;
break; break;
case 0x3d10:{ case 0x3d10:{
guint32 len; guint32 len;
@ -267,7 +264,6 @@ mxf_metadata_aes3_audio_essence_descriptor_handle_tag (MXFMetadataBase *
tag_size--; tag_size--;
} }
ret = TRUE;
break; break;
} }
case 0x3d11:{ case 0x3d11:{
@ -331,7 +327,6 @@ mxf_metadata_aes3_audio_essence_descriptor_handle_tag (MXFMetadataBase *
tag_size -= 24; tag_size -= 24;
} }
ret = TRUE;
break; break;
} }
case 0x3d12:{ case 0x3d12:{
@ -364,7 +359,6 @@ mxf_metadata_aes3_audio_essence_descriptor_handle_tag (MXFMetadataBase *
tag_size--; tag_size--;
} }
ret = TRUE;
break; break;
} }
case 0x3d13:{ case 0x3d13:{
@ -426,7 +420,6 @@ mxf_metadata_aes3_audio_essence_descriptor_handle_tag (MXFMetadataBase *
tag_size -= 24; tag_size -= 24;
} }
ret = TRUE;
break; break;
} }
/* TODO: linked timecode track / data_stream_number parsing, see /* TODO: linked timecode track / data_stream_number parsing, see
@ -434,8 +427,8 @@ mxf_metadata_aes3_audio_essence_descriptor_handle_tag (MXFMetadataBase *
default: default:
ret = ret =
MXF_METADATA_BASE_CLASS MXF_METADATA_BASE_CLASS
(mxf_metadata_aes3_audio_essence_descriptor_parent_class)-> (mxf_metadata_aes3_audio_essence_descriptor_parent_class)->handle_tag
handle_tag (metadata, primer, tag, tag_data, tag_size); (metadata, primer, tag, tag_data, tag_size);
break; break;
} }
@ -447,7 +440,7 @@ error:
("Invalid AES3 audio essence descriptor local tag 0x%04x of size %u", tag, ("Invalid AES3 audio essence descriptor local tag 0x%04x of size %u", tag,
tag_size); tag_size);
return TRUE; return FALSE;
} }
static void static void
@ -761,8 +754,9 @@ mxf_aes_bwf_create_caps (MXFMetadataGenericPackage * package,
s = (MXFMetadataGenericSoundEssenceDescriptor *) track->descriptor[i]; s = (MXFMetadataGenericSoundEssenceDescriptor *) track->descriptor[i];
bwf = TRUE; bwf = TRUE;
break; break;
} else if (MXF_IS_METADATA_GENERIC_SOUND_ESSENCE_DESCRIPTOR (track-> } else
descriptor[i]) 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] == 0x03
|| track->descriptor[i]->essence_container.u[14] == 0x04 || track->descriptor[i]->essence_container.u[14] == 0x04
|| track->descriptor[i]->essence_container.u[14] == 0x09)) { || track->descriptor[i]->essence_container.u[14] == 0x09)) {

View file

@ -151,8 +151,8 @@ mxf_metadata_handle_tag (MXFMetadataBase * metadata, MXFPrimerPack * primer,
break; break;
default: default:
ret = ret =
MXF_METADATA_BASE_CLASS (mxf_metadata_parent_class)-> MXF_METADATA_BASE_CLASS (mxf_metadata_parent_class)->handle_tag
handle_tag (metadata, primer, tag, tag_data, tag_size); (metadata, primer, tag, tag_data, tag_size);
break; break;
} }
@ -444,8 +444,9 @@ mxf_metadata_preface_handle_tag (MXFMetadataBase * metadata,
} }
default: default:
ret = ret =
MXF_METADATA_BASE_CLASS (mxf_metadata_preface_parent_class)-> MXF_METADATA_BASE_CLASS
handle_tag (metadata, primer, tag, tag_data, tag_size); (mxf_metadata_preface_parent_class)->handle_tag (metadata, primer,
tag, tag_data, tag_size);
break; break;
} }
@ -503,8 +504,9 @@ mxf_metadata_preface_resolve (MXFMetadataBase * m, MXFMetadataBase ** metadata)
return FALSE; return FALSE;
} }
return MXF_METADATA_BASE_CLASS (mxf_metadata_preface_parent_class)-> return
resolve (m, metadata); MXF_METADATA_BASE_CLASS (mxf_metadata_preface_parent_class)->resolve (m,
metadata);
} }
static void static void
@ -798,8 +800,9 @@ mxf_metadata_content_storage_resolve (MXFMetadataBase * m,
return FALSE; return FALSE;
} }
return MXF_METADATA_BASE_CLASS (mxf_metadata_content_storage_parent_class)-> return
resolve (m, metadata); MXF_METADATA_BASE_CLASS
(mxf_metadata_content_storage_parent_class)->resolve (m, metadata);
} }
static void static void
@ -1076,8 +1079,9 @@ mxf_metadata_generic_package_resolve (MXFMetadataBase * m,
return FALSE; return FALSE;
} }
return MXF_METADATA_BASE_CLASS (mxf_metadata_generic_package_parent_class)-> return
resolve (m, metadata); MXF_METADATA_BASE_CLASS
(mxf_metadata_generic_package_parent_class)->resolve (m, metadata);
} }
static void static void
@ -1105,8 +1109,8 @@ mxf_metadata_material_package_resolve (MXFMetadataBase * m,
MXFMetadataBase ** metadata) MXFMetadataBase ** metadata)
{ {
gboolean ret = gboolean ret =
MXF_METADATA_BASE_CLASS (mxf_metadata_material_package_parent_class)-> MXF_METADATA_BASE_CLASS
resolve (m, metadata); (mxf_metadata_material_package_parent_class)->resolve (m, metadata);
MXFMetadataGenericPackage *self = MXF_METADATA_GENERIC_PACKAGE (m); MXFMetadataGenericPackage *self = MXF_METADATA_GENERIC_PACKAGE (m);
guint i; guint i;
@ -1221,8 +1225,9 @@ mxf_metadata_source_package_resolve (MXFMetadataBase * m,
MXFMetadataGenericDescriptor *d = NULL; MXFMetadataGenericDescriptor *d = NULL;
if (mxf_ul_is_zero (&self->descriptors_uid)) if (mxf_ul_is_zero (&self->descriptors_uid))
return MXF_METADATA_BASE_CLASS (mxf_metadata_source_package_parent_class)-> return
resolve (m, metadata); MXF_METADATA_BASE_CLASS
(mxf_metadata_source_package_parent_class)->resolve (m, metadata);
while (*p) { while (*p) {
current = *p; current = *p;
@ -1261,8 +1266,8 @@ mxf_metadata_source_package_resolve (MXFMetadataBase * m,
} }
ret = ret =
MXF_METADATA_BASE_CLASS (mxf_metadata_source_package_parent_class)-> MXF_METADATA_BASE_CLASS
resolve (m, metadata); (mxf_metadata_source_package_parent_class)->resolve (m, metadata);
for (i = 0; i < package->n_tracks; i++) { for (i = 0; i < package->n_tracks; i++) {
guint n_descriptor = 0, k = 0; guint n_descriptor = 0, k = 0;
@ -1721,8 +1726,9 @@ mxf_metadata_sequence_resolve (MXFMetadataBase * m, MXFMetadataBase ** metadata)
return FALSE; return FALSE;
} }
return MXF_METADATA_BASE_CLASS (mxf_metadata_sequence_parent_class)-> return
resolve (m, metadata); MXF_METADATA_BASE_CLASS (mxf_metadata_sequence_parent_class)->resolve (m,
metadata);
} }
@ -1941,8 +1947,9 @@ mxf_metadata_source_clip_resolve (MXFMetadataBase * m,
p++; p++;
} }
return MXF_METADATA_BASE_CLASS (mxf_metadata_source_clip_parent_class)-> return
resolve (m, metadata); MXF_METADATA_BASE_CLASS (mxf_metadata_source_clip_parent_class)->resolve
(m, metadata);
} }
static void static void
@ -2173,8 +2180,9 @@ mxf_metadata_dm_segment_resolve (MXFMetadataBase * m,
return FALSE; return FALSE;
} }
return MXF_METADATA_BASE_CLASS (mxf_metadata_dm_segment_parent_class)-> return
resolve (m, metadata); MXF_METADATA_BASE_CLASS (mxf_metadata_dm_segment_parent_class)->resolve
(m, metadata);
} }
static void static void
@ -2298,8 +2306,8 @@ mxf_metadata_generic_descriptor_resolve (MXFMetadataBase * m,
} }
return return
MXF_METADATA_BASE_CLASS (mxf_metadata_generic_descriptor_parent_class)-> MXF_METADATA_BASE_CLASS
resolve (m, metadata); (mxf_metadata_generic_descriptor_parent_class)->resolve (m, metadata);
} }
static void static void
@ -3064,8 +3072,8 @@ mxf_metadata_multiple_descriptor_finalize (GstMiniObject * object)
g_free (self->sub_descriptors); g_free (self->sub_descriptors);
self->sub_descriptors = NULL; self->sub_descriptors = NULL;
GST_MINI_OBJECT_CLASS (mxf_metadata_multiple_descriptor_parent_class)-> GST_MINI_OBJECT_CLASS
finalize (object); (mxf_metadata_multiple_descriptor_parent_class)->finalize (object);
} }
static gboolean static gboolean
@ -3125,7 +3133,7 @@ error:
GST_ERROR ("Invalid multiple descriptor local tag 0x%04x of size %u", tag, GST_ERROR ("Invalid multiple descriptor local tag 0x%04x of size %u", tag,
tag_size); tag_size);
return TRUE; return FALSE;
} }
static gboolean static gboolean
@ -3161,8 +3169,8 @@ mxf_metadata_multiple_descriptor_resolve (MXFMetadataBase * m,
} }
return return
MXF_METADATA_BASE_CLASS (mxf_metadata_multiple_descriptor_parent_class)-> MXF_METADATA_BASE_CLASS
resolve (m, metadata); (mxf_metadata_multiple_descriptor_parent_class)->resolve (m, metadata);
} }
static void static void