imc: return error codes instead of 0 for error conditions.
authorJustin Ruggles <justin.ruggles@gmail.com>
Sat, 29 Oct 2011 15:16:01 +0000 (11:16 -0400)
committerJustin Ruggles <justin.ruggles@gmail.com>
Wed, 2 Nov 2011 21:02:22 +0000 (17:02 -0400)
This fixes a bug where the whole buffer was returned as decoded audio due to
*data_size not being set to zero and the return value being >= 0.

libavcodec/imc.c

index daa2857..1f1db6c 100644 (file)
@@ -810,13 +810,13 @@ static int imc_decode_frame(AVCodecContext * avctx,
     if(imc_get_coeffs(q) < 0) {
         av_log(avctx, AV_LOG_ERROR, "Read coefficients failed\n");
         q->decoder_reset = 1;
-        return 0;
+        return AVERROR_INVALIDDATA;
     }
 
     if(inverse_quant_coeff(q, stream_format_code) < 0) {
         av_log(avctx, AV_LOG_ERROR, "Inverse quantization of coefficients failed\n");
         q->decoder_reset = 1;
-        return 0;
+        return AVERROR_INVALIDDATA;
     }
 
     memset(q->skipFlags, 0, sizeof(q->skipFlags));