[FFmpeg-cvslog] mxfenc: Don't allow muxing audio-only since it's not supported

Tomas Härdin git at videolan.org
Tue Apr 3 11:03:45 CEST 2012


ffmpeg | branch: master | Tomas Härdin <tomas.hardin at codemill.se> | Thu Mar 29 11:48:45 2012 +0200| [24e90d0c05194ed92c35babf674cb219f5e1377a] | committer: Michael Niedermayer

mxfenc: Don't allow muxing audio-only since it's not supported

This fixes muxing audio-only output resulting in SIGFPE due to lack of EditRate.

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

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

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

diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c
index 810c566..b2ef1f3 100644
--- a/libavformat/mxfenc.c
+++ b/libavformat/mxfenc.c
@@ -1412,12 +1412,13 @@ static int mxf_write_header(AVFormatContext *s)
             return AVERROR(ENOMEM);
         st->priv_data = sc;
 
+        if ((i == 0) ^ (st->codec->codec_type == AVMEDIA_TYPE_VIDEO)) {
+            av_log(s, AV_LOG_ERROR, "there must be exactly one video stream and it must be the first one\n");
+            return -1;
+        }
+
         if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO) {
             AVRational rate;
-            if (i != 0) {
-                av_log(s, AV_LOG_ERROR, "video stream must be first track\n");
-                return -1;
-            }
             if (fabs(av_q2d(st->codec->time_base) - 1/25.0) < 0.0001) {
                 samples_per_frame = PAL_samples_per_frame;
                 mxf->time_base = (AVRational){ 1, 25 };



More information about the ffmpeg-cvslog mailing list