Mercurial > libavcodec.hg
comparison ac3dec.c @ 7014:24ddcb54f147 libavcodec
skip unsupported frame types and substream id's
author | jbr |
---|---|
date | Sat, 07 Jun 2008 22:29:27 +0000 |
parents | d07912ff7dcd |
children | d9ac2c5a5d89 |
comparison
equal
deleted
inserted
replaced
7013:d07912ff7dcd | 7014:24ddcb54f147 |
---|---|
1173 break; | 1173 break; |
1174 case AC3_PARSE_ERROR_FRAME_SIZE: | 1174 case AC3_PARSE_ERROR_FRAME_SIZE: |
1175 av_log(avctx, AV_LOG_ERROR, "invalid frame size\n"); | 1175 av_log(avctx, AV_LOG_ERROR, "invalid frame size\n"); |
1176 break; | 1176 break; |
1177 case AC3_PARSE_ERROR_FRAME_TYPE: | 1177 case AC3_PARSE_ERROR_FRAME_TYPE: |
1178 /* skip frame if CRC is ok. otherwise use error concealment. */ | |
1179 /* TODO: add support for substreams and dependent frames */ | |
1180 if(s->frame_type == EAC3_FRAME_TYPE_DEPENDENT || s->substreamid) { | |
1181 av_log(avctx, AV_LOG_ERROR, "unsupported frame type : skipping frame\n"); | |
1182 return s->frame_size; | |
1183 } else { | |
1178 av_log(avctx, AV_LOG_ERROR, "invalid frame type\n"); | 1184 av_log(avctx, AV_LOG_ERROR, "invalid frame type\n"); |
1185 } | |
1179 break; | 1186 break; |
1180 default: | 1187 default: |
1181 av_log(avctx, AV_LOG_ERROR, "invalid header\n"); | 1188 av_log(avctx, AV_LOG_ERROR, "invalid header\n"); |
1182 break; | 1189 break; |
1183 } | 1190 } |