avcodec/dca: print error message when no frame is found in packet
authorfoo86 <foobaz86@gmail.com>
Fri, 13 May 2016 09:48:25 +0000 (12:48 +0300)
committerMichael Niedermayer <michael@niedermayer.cc>
Sat, 14 May 2016 17:59:49 +0000 (19:59 +0200)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/dcadec.c

index 303b0c2..f31b658 100644 (file)
@@ -179,8 +179,10 @@ static int dcadec_decode_frame(AVCodecContext *avctx, void *data,
     for (i = 0, ret = AVERROR_INVALIDDATA; i < input_size - MIN_PACKET_SIZE + 1 && ret < 0; i++)
         ret = convert_bitstream(input + i, input_size - i, s->buffer, s->buffer_size);
 
-    if (ret < 0)
+    if (ret < 0) {
+        av_log(avctx, AV_LOG_ERROR, "Not a valid DCA frame\n");
         return ret;
+    }
 
     input      = s->buffer;
     input_size = ret;
@@ -296,6 +298,9 @@ static int dcadec_decode_frame(AVCodecContext *avctx, void *data,
         }
         s->core_residual_valid = !!(s->core.filter_mode & DCA_FILTER_MODE_FIXED);
     } else {
+        av_log(avctx, AV_LOG_ERROR, "No valid DCA sub-stream found\n");
+        if (s->core_only)
+            av_log(avctx, AV_LOG_WARNING, "Consider disabling 'core_only' option\n");
         return AVERROR_INVALIDDATA;
     }