avcodec/wma: Return specific error code

This way, the calling function can just forward it instead of
making it up.

Signed-off-by: Olivier Crête <olivier.crete@collabora.com>
This commit is contained in:
Olivier Crête 2021-08-24 09:43:42 -04:00 committed by Paul B Mahol
parent c1c7f2b61f
commit 521388edb7
2 changed files with 10 additions and 7 deletions

View File

@ -459,7 +459,7 @@ int ff_wma_run_level_decode(AVCodecContext *avctx, GetBitContext *gb,
if (get_bits1(gb)) {
av_log(avctx, AV_LOG_ERROR,
"broken escape sequence\n");
return -1;
return AVERROR_INVALIDDATA;
} else
offset += get_bits(gb, frame_len_bits) + 4;
} else
@ -477,7 +477,7 @@ int ff_wma_run_level_decode(AVCodecContext *avctx, GetBitContext *gb,
offset,
num_coefs
);
return -1;
return AVERROR_INVALIDDATA;
}
return 0;

View File

@ -991,13 +991,16 @@ static int decode_coeffs(WMAProDecodeCtx *s, int c)
/** decode run level coded coefficients */
if (cur_coeff < s->subframe_len) {
int ret;
memset(&ci->coeffs[cur_coeff], 0,
sizeof(*ci->coeffs) * (s->subframe_len - cur_coeff));
if (ff_wma_run_level_decode(s->avctx, &s->gb, vlc,
level, run, 1, ci->coeffs,
cur_coeff, s->subframe_len,
s->subframe_len, s->esc_len, 0))
return AVERROR_INVALIDDATA;
ret = ff_wma_run_level_decode(s->avctx, &s->gb, vlc,
level, run, 1, ci->coeffs,
cur_coeff, s->subframe_len,
s->subframe_len, s->esc_len, 0);
if (ret < 0)
return ret;
}
return 0;