diff --git a/libavcodec/utils.c b/libavcodec/utils.c index de371e8a81..4531311f63 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -3306,6 +3306,10 @@ int av_get_audio_frame_duration(AVCodecContext *avctx, int frame_bytes) } } + /* Fall back on using frame_size */ + if (avctx->frame_size > 1 && frame_bytes) + return avctx->frame_size; + return 0; } diff --git a/libavformat/utils.c b/libavformat/utils.c index f995c4f7a5..c695e372a3 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -722,10 +722,6 @@ int ff_get_audio_frame_size(AVCodecContext *enc, int size, int mux) if ((frame_size = av_get_audio_frame_duration(enc, size)) > 0) return frame_size; - /* Fall back on using frame_size if muxing. */ - if (enc->frame_size > 1) - return enc->frame_size; - //For WMA we currently have no other means to calculate duration thus we //do it here by assuming CBR, which is true for all known cases. if (!mux && enc->bit_rate>0 && size>0 && enc->sample_rate>0 && enc->block_align>1) {