1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-08-10 06:10:52 +02:00

ac3: Clean up the error paths

This commit is contained in:
Luca Barbato
2013-07-28 13:32:18 +02:00
parent 6258d362b8
commit 818d1f1a3e

View File

@@ -1305,7 +1305,7 @@ static int ac3_decode_frame(AVCodecContext * avctx, void *data,
/* skip frame if CRC is ok. otherwise use error concealment. */ /* skip frame if CRC is ok. otherwise use error concealment. */
/* TODO: add support for substreams and dependent frames */ /* TODO: add support for substreams and dependent frames */
if (s->frame_type == EAC3_FRAME_TYPE_DEPENDENT || s->substreamid) { if (s->frame_type == EAC3_FRAME_TYPE_DEPENDENT || s->substreamid) {
av_log(avctx, AV_LOG_ERROR, "unsupported frame type : " av_log(avctx, AV_LOG_WARNING, "unsupported frame type : "
"skipping frame\n"); "skipping frame\n");
*got_frame_ptr = 0; *got_frame_ptr = 0;
return buf_size; return buf_size;
@@ -1313,9 +1313,12 @@ static int ac3_decode_frame(AVCodecContext * avctx, void *data,
av_log(avctx, AV_LOG_ERROR, "invalid frame type\n"); av_log(avctx, AV_LOG_ERROR, "invalid frame type\n");
} }
break; break;
default: case AAC_AC3_PARSE_ERROR_CRC:
av_log(avctx, AV_LOG_ERROR, "invalid header\n"); case AAC_AC3_PARSE_ERROR_CHANNEL_CFG:
break; break;
default: // Normal AVERROR do not try to recover.
*got_frame_ptr = 0;
return err;
} }
} else { } else {
/* check that reported frame size fits in input buffer */ /* check that reported frame size fits in input buffer */