aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/mxfdec.c
diff options
context:
space:
mode:
authorMarton Balint <cus@passwd.hu>2024-02-16 20:13:43 +0100
committerMarton Balint <cus@passwd.hu>2024-02-20 00:04:40 +0100
commit41672f558673151e77798f8a184fc1d3e60b16b9 (patch)
tree931270d012ad8af1f7cd562d073ae5e79a477340 /libavformat/mxfdec.c
parent1f7cd5d4348a8f96afe136405e47f3a2004fb169 (diff)
downloadffmpeg-41672f558673151e77798f8a184fc1d3e60b16b9.tar.gz
avformat/mxfdec: move resolving Descriptors to the multi descriptor resolve function
Also remove unused descriptor member from MXFPackage. Signed-off-by: Marton Balint <cus@passwd.hu>
Diffstat (limited to 'libavformat/mxfdec.c')
-rw-r--r--libavformat/mxfdec.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c
index e42975e7fd..4e4e3e7a84 100644
--- a/libavformat/mxfdec.c
+++ b/libavformat/mxfdec.c
@@ -266,7 +266,6 @@ typedef struct MXFPackage {
UID package_ul;
UID *tracks_refs;
int tracks_count;
- MXFDescriptor *descriptor; /* only one */
UID descriptor_ref;
char *name;
UID *comment_refs;
@@ -2257,11 +2256,12 @@ static MXFPackage* mxf_resolve_source_package(MXFContext *mxf, UID package_ul, U
return NULL;
}
-static MXFDescriptor* mxf_resolve_multidescriptor(MXFContext *mxf, MXFDescriptor *descriptor, int track_id)
+static MXFDescriptor* mxf_resolve_descriptor(MXFContext *mxf, UID *strong_ref, int track_id)
{
- MXFDescriptor *file_descriptor = NULL;
+ MXFDescriptor *descriptor, *file_descriptor = NULL;
int i;
+ descriptor = mxf_resolve_strong_ref(mxf, strong_ref, AnyType);
if (!descriptor)
return NULL;
@@ -2782,8 +2782,7 @@ static int mxf_parse_structural_metadata(MXFContext *mxf)
st->id = material_track->track_id;
st->priv_data = source_track;
- source_package->descriptor = mxf_resolve_strong_ref(mxf, &source_package->descriptor_ref, AnyType);
- descriptor = mxf_resolve_multidescriptor(mxf, source_package->descriptor, source_track->track_id);
+ descriptor = mxf_resolve_descriptor(mxf, &source_package->descriptor_ref, source_track->track_id);
/* A SourceClip from a EssenceGroup may only be a single frame of essence data. The clips duration is then how many
* frames its suppose to repeat for. Descriptor->duration, if present, contains the real duration of the essence data */