avformat: gather aspect ratio from rv30/40 in find_stream_info
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 3 Mar 2013 17:41:16 +0000 (18:41 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 3 Mar 2013 17:41:16 +0000 (18:41 +0100)
Fixes Ticket1550

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/utils.c

index 6024205..7f90a9a 100644 (file)
@@ -2438,6 +2438,9 @@ static int has_codec_parameters(AVStream *st, const char **errmsg_ptr)
             FAIL("unspecified size");
         if (st->info->found_decoder >= 0 && avctx->pix_fmt == AV_PIX_FMT_NONE)
             FAIL("unspecified pixel format");
+        if (st->codec->codec_id == AV_CODEC_ID_RV30 || st->codec->codec_id == AV_CODEC_ID_RV40)
+            if (!st->sample_aspect_ratio.num && !st->codec->sample_aspect_ratio.num && !st->codec_info_nb_frames)
+                FAIL("no frame in rv30/40 and no sar");
         break;
     case AVMEDIA_TYPE_SUBTITLE:
         if (avctx->codec_id == AV_CODEC_ID_HDMV_PGS_SUBTITLE && !avctx->width)