[FFmpeg-cvslog] avformat/mxfdec: move resolving Descriptors to the multi descriptor resolve function

Marton Balint git at videolan.org
Tue Mar 19 22:17:40 EET 2024


ffmpeg | branch: release/5.1 | Marton Balint <cus at passwd.hu> | Fri Feb 16 20:13:43 2024 +0100| [b0c647d1d9214c15c35325f884759eddf2e4558e] | committer: Marton Balint

avformat/mxfdec: move resolving Descriptors to the multi descriptor resolve function

Also remove unused descriptor member from MXFPackage.

Signed-off-by: Marton Balint <cus at passwd.hu>
(cherry picked from commit 41672f558673151e77798f8a184fc1d3e60b16b9)

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b0c647d1d9214c15c35325f884759eddf2e4558e
---

 libavformat/mxfdec.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c
index 5185fb6cc4..bbcc5643c5 100644
--- a/libavformat/mxfdec.c
+++ b/libavformat/mxfdec.c
@@ -257,7 +257,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;
@@ -2202,11 +2201,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;
 
@@ -2709,8 +2709,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 */



More information about the ffmpeg-cvslog mailing list