Mercurial > libavformat.hg
changeset 1634:eeb3521e4d09 libavformat
AnyType is needed, descriptor_ref can reference Descriptor or MultipleDescriptor
author | bcoudurier |
---|---|
date | Sun, 14 Jan 2007 00:32:25 +0000 |
parents | 2593a455c3f0 |
children | 59d2c40950ca |
files | mxf.c |
diffstat | 1 files changed, 4 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/mxf.c Sat Jan 13 21:13:26 2007 +0000 +++ b/mxf.c Sun Jan 14 00:32:25 2007 +0000 @@ -50,6 +50,7 @@ typedef uint8_t UID[16]; enum MXFMetadataSetType { + AnyType, MaterialPackage, SourcePackage, SourceClip, @@ -648,7 +649,7 @@ return NULL; for (i = 0; i < mxf->metadata_sets_count; i++) { if (!memcmp(*strong_ref, mxf->metadata_sets[i]->uid, 16) && - mxf->metadata_sets[i]->type == type) { + (type == AnyType || mxf->metadata_sets[i]->type == type)) { return mxf->metadata_sets[i]; } } @@ -749,7 +750,7 @@ #endif st->codec->codec_type = mxf_get_codec_type(mxf_data_definition_uls, &source_track->sequence->data_definition_ul); - source_package->descriptor = mxf_resolve_strong_ref(mxf, &source_package->descriptor_ref, Descriptor); + source_package->descriptor = mxf_resolve_strong_ref(mxf, &source_package->descriptor_ref, AnyType); if (source_package->descriptor) { if (source_package->descriptor->type == MultipleDescriptor) { for (j = 0; j < source_package->descriptor->sub_descriptors_count; j++) { @@ -764,7 +765,7 @@ break; } } - } else + } else if (source_package->descriptor->type == Descriptor) descriptor = source_package->descriptor; } if (!descriptor) {