mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-26 19:01:44 +02:00
lavc/amrwbdec: Output silence for frames marked as corrupt.
Fixes ticket #7113.
This commit is contained in:
parent
8f01fa378f
commit
e426f71c96
@ -1121,7 +1121,10 @@ static int amrwb_decode_frame(AVCodecContext *avctx, void *data,
|
||||
header_size = decode_mime_header(ctx, buf);
|
||||
expected_fr_size = ((cf_sizes_wb[ctx->fr_cur_mode] + 7) >> 3) + 1;
|
||||
|
||||
if (ctx->fr_cur_mode == NO_DATA) {
|
||||
if (!ctx->fr_quality)
|
||||
av_log(avctx, AV_LOG_ERROR, "Encountered a bad or corrupted frame\n");
|
||||
|
||||
if (ctx->fr_cur_mode == NO_DATA || !ctx->fr_quality) {
|
||||
av_samples_set_silence(&frame->data[0], 0, frame->nb_samples, 1, AV_SAMPLE_FMT_FLT);
|
||||
*got_frame_ptr = 1;
|
||||
return expected_fr_size;
|
||||
@ -1139,9 +1142,6 @@ static int amrwb_decode_frame(AVCodecContext *avctx, void *data,
|
||||
return AVERROR_INVALIDDATA;
|
||||
}
|
||||
|
||||
if (!ctx->fr_quality)
|
||||
av_log(avctx, AV_LOG_ERROR, "Encountered a bad or corrupted frame\n");
|
||||
|
||||
if (ctx->fr_cur_mode == MODE_SID) { /* Comfort noise frame */
|
||||
avpriv_request_sample(avctx, "SID mode");
|
||||
return AVERROR_PATCHWELCOME;
|
||||
|
Loading…
Reference in New Issue
Block a user