lavf: factor out determinable_frame_size()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2012-03-04 04:06:15 +01:00
parent 15c6be8c7d
commit b8afbbca9c

View File

@ -752,6 +752,17 @@ int av_read_packet(AVFormatContext *s, AVPacket *pkt)
/**********************************************************/
static int determinable_frame_size(AVCodecContext *avctx)
{
if (avctx->codec_id == CODEC_ID_AAC ||
avctx->codec_id == CODEC_ID_MP1 ||
avctx->codec_id == CODEC_ID_MP2 ||
avctx->codec_id == CODEC_ID_MP3 ||
avctx->codec_id == CODEC_ID_CELT)
return 1;
return 0;
}
/**
* Get the number of samples of an audio frame. Return -1 on error.
*/
@ -2101,12 +2112,7 @@ static int has_codec_parameters(AVCodecContext *avctx)
switch (avctx->codec_type) {
case AVMEDIA_TYPE_AUDIO:
val = avctx->sample_rate && avctx->channels && avctx->sample_fmt != AV_SAMPLE_FMT_NONE;
if (!avctx->frame_size &&
(avctx->codec_id == CODEC_ID_AAC ||
avctx->codec_id == CODEC_ID_MP1 ||
avctx->codec_id == CODEC_ID_MP2 ||
avctx->codec_id == CODEC_ID_MP3 ||
avctx->codec_id == CODEC_ID_CELT))
if (!avctx->frame_size && determinable_frame_size(avctx))
return 0;
break;
case AVMEDIA_TYPE_VIDEO: