# HG changeset patch # User jbr # Date 1212877767 0 # Node ID 24ddcb54f147131b17cf809dba1a161263e57368 # Parent d07912ff7dcd5ab91a8d7b7f5ba6704ca936d971 skip unsupported frame types and substream id's diff -r d07912ff7dcd -r 24ddcb54f147 ac3dec.c --- a/ac3dec.c Sat Jun 07 22:29:19 2008 +0000 +++ b/ac3dec.c Sat Jun 07 22:29:27 2008 +0000 @@ -1175,7 +1175,14 @@ 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");