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 }