mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-27 01:42:20 +00:00
avformat/mxfdec: use full UMID to resolve source package
Signed-off-by: Marton Balint <cus@passwd.hu>
This commit is contained in:
parent
5c2fd59700
commit
9ec3e61fc3
@ -1681,7 +1681,7 @@ static MXFTimecodeComponent* mxf_resolve_timecode_component(MXFContext *mxf, UID
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static MXFPackage* mxf_resolve_source_package(MXFContext *mxf, UID package_uid)
|
||||
static MXFPackage* mxf_resolve_source_package(MXFContext *mxf, UID package_ul, UID package_uid)
|
||||
{
|
||||
MXFPackage *package = NULL;
|
||||
int i;
|
||||
@ -1691,7 +1691,7 @@ static MXFPackage* mxf_resolve_source_package(MXFContext *mxf, UID package_uid)
|
||||
if (!package)
|
||||
continue;
|
||||
|
||||
if (!memcmp(package->package_uid, package_uid, 16))
|
||||
if (!memcmp(package->package_ul, package_ul, 16) && !memcmp(package->package_uid, package_uid, 16))
|
||||
return package;
|
||||
}
|
||||
return NULL;
|
||||
@ -1740,7 +1740,7 @@ static MXFStructuralComponent* mxf_resolve_essence_group_choice(MXFContext *mxf,
|
||||
if (!component)
|
||||
continue;
|
||||
|
||||
if (!(package = mxf_resolve_source_package(mxf, component->source_package_uid)))
|
||||
if (!(package = mxf_resolve_source_package(mxf, component->source_package_ul, component->source_package_uid)))
|
||||
continue;
|
||||
|
||||
descriptor = mxf_resolve_strong_ref(mxf, &package->descriptor_ref, Descriptor);
|
||||
@ -1806,7 +1806,7 @@ static int mxf_parse_physical_source_package(MXFContext *mxf, MXFTrack *source_t
|
||||
if (!sourceclip)
|
||||
continue;
|
||||
|
||||
if (!(physical_package = mxf_resolve_source_package(mxf, sourceclip->source_package_uid)))
|
||||
if (!(physical_package = mxf_resolve_source_package(mxf, sourceclip->source_package_ul, sourceclip->source_package_uid)))
|
||||
break;
|
||||
|
||||
mxf_add_umid_metadata(&st->metadata, "reel_umid", physical_package);
|
||||
@ -1976,7 +1976,7 @@ static int mxf_parse_structural_metadata(MXFContext *mxf)
|
||||
if (!component)
|
||||
continue;
|
||||
|
||||
source_package = mxf_resolve_source_package(mxf, component->source_package_uid);
|
||||
source_package = mxf_resolve_source_package(mxf, component->source_package_ul, component->source_package_uid);
|
||||
if (!source_package) {
|
||||
av_log(mxf->fc, AV_LOG_TRACE, "material track %d: no corresponding source package found\n", material_track->track_id);
|
||||
continue;
|
||||
|
Loading…
Reference in New Issue
Block a user