From aa5d6be8dff77660dc620f04a0cd655caf294fc1 Mon Sep 17 00:00:00 2001 From: Justin Ruggles Date: Sat, 7 Jun 2008 22:29:27 +0000 Subject: skip unsupported frame types and substream id's Originally committed as revision 13691 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/ac3dec.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libavcodec/ac3dec.c b/libavcodec/ac3dec.c index 9bfbec39b7..b7941c1623 100644 --- a/libavcodec/ac3dec.c +++ b/libavcodec/ac3dec.c @@ -1175,7 +1175,14 @@ static int ac3_decode_frame(AVCodecContext * avctx, void *data, int *data_size, av_log(avctx, AV_LOG_ERROR, "invalid frame size\n"); break; case AC3_PARSE_ERROR_FRAME_TYPE: + /* 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 : skipping frame\n"); + return s->frame_size; + } else { av_log(avctx, AV_LOG_ERROR, "invalid frame type\n"); + } break; default: av_log(avctx, AV_LOG_ERROR, "invalid header\n"); -- cgit v1.2.3