ffmpeg | branch: master | Mark Reid <mindm...@gmail.com> | Sun Sep 18 14:11:34 
2016 -0700| [d8d433321796c3eaf47d93e1091a20cbd3c44bda] | committer: Michael 
Niedermayer

avformat/mxfdec: use first valid sourceclip found if material track has 
multiple components

This commit fixes a issue with mxf footage having multiple
components on a material track.

Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc>

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

 libavformat/mxfdec.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c
index 0b16463..1939761 100644
--- a/libavformat/mxfdec.c
+++ b/libavformat/mxfdec.c
@@ -1888,7 +1888,11 @@ static int mxf_parse_structural_metadata(MXFContext *mxf)
             }
         }
 
-        /* TODO: handle multiple source clips */
+        /* TODO: handle multiple source clips, only finds first valid source 
clip */
+        if(material_track->sequence->structural_components_count > 1)
+            av_log(mxf->fc, AV_LOG_WARNING, "material track %d: has %d 
components\n",
+                       material_track->track_id, 
material_track->sequence->structural_components_count);
+
         for (j = 0; j < material_track->sequence->structural_components_count; 
j++) {
             component = mxf_resolve_sourceclip(mxf, 
&material_track->sequence->structural_components_refs[j]);
             if (!component)
@@ -1914,6 +1918,8 @@ static int mxf_parse_structural_metadata(MXFContext *mxf)
                 av_log(mxf->fc, AV_LOG_ERROR, "material track %d: no 
corresponding source track found\n", material_track->track_id);
                 break;
             }
+            if(source_track && component)
+                break;
         }
         if (!source_track || !component || !source_package)
             continue;

_______________________________________________
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

Reply via email to