mirror of https://git.ffmpeg.org/ffmpeg.git
imc: return error codes instead of 0 for error conditions.
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.
This commit is contained in:
parent
08e5cd3810
commit
a4998e448f
|
@ -810,13 +810,13 @@ static int imc_decode_frame(AVCodecContext * avctx,
|
||||||
if(imc_get_coeffs(q) < 0) {
|
if(imc_get_coeffs(q) < 0) {
|
||||||
av_log(avctx, AV_LOG_ERROR, "Read coefficients failed\n");
|
av_log(avctx, AV_LOG_ERROR, "Read coefficients failed\n");
|
||||||
q->decoder_reset = 1;
|
q->decoder_reset = 1;
|
||||||
return 0;
|
return AVERROR_INVALIDDATA;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(inverse_quant_coeff(q, stream_format_code) < 0) {
|
if(inverse_quant_coeff(q, stream_format_code) < 0) {
|
||||||
av_log(avctx, AV_LOG_ERROR, "Inverse quantization of coefficients failed\n");
|
av_log(avctx, AV_LOG_ERROR, "Inverse quantization of coefficients failed\n");
|
||||||
q->decoder_reset = 1;
|
q->decoder_reset = 1;
|
||||||
return 0;
|
return AVERROR_INVALIDDATA;
|
||||||
}
|
}
|
||||||
|
|
||||||
memset(q->skipFlags, 0, sizeof(q->skipFlags));
|
memset(q->skipFlags, 0, sizeof(q->skipFlags));
|
||||||
|
|
Loading…
Reference in New Issue