diff options
author | Luca Barbato <lu_zero@gentoo.org> | 2013-07-28 13:32:18 +0200 |
---|---|---|
committer | Luca Barbato <lu_zero@gentoo.org> | 2013-08-27 16:19:12 +0200 |
commit | 818d1f1a3e89d35213af0bd5dc4a772713951882 (patch) | |
tree | 2043dd4c86f42fb04f2c4d6a3153d87d180832ec | |
parent | 6258d362b82934a2c27557e0984aed372d98091a (diff) | |
download | ffmpeg-818d1f1a3e89d35213af0bd5dc4a772713951882.tar.gz |
ac3: Clean up the error paths
-rw-r--r-- | libavcodec/ac3dec.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/libavcodec/ac3dec.c b/libavcodec/ac3dec.c index f08449363d..2b0ebf49c9 100644 --- a/libavcodec/ac3dec.c +++ b/libavcodec/ac3dec.c @@ -1305,7 +1305,7 @@ static int ac3_decode_frame(AVCodecContext * avctx, void *data, /* skip frame if CRC is ok. otherwise use error concealment. */ /* TODO: add support for substreams and dependent frames */ 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"); *got_frame_ptr = 0; 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"); } break; - default: - av_log(avctx, AV_LOG_ERROR, "invalid header\n"); + case AAC_AC3_PARSE_ERROR_CRC: + case AAC_AC3_PARSE_ERROR_CHANNEL_CFG: break; + default: // Normal AVERROR do not try to recover. + *got_frame_ptr = 0; + return err; } } else { /* check that reported frame size fits in input buffer */ |