mirror of
https://github.com/nyanmisaka/ffmpeg-rockchip.git
synced 2025-10-25 01:41:31 +08:00
lavf: eliminate ff_get_audio_frame_size()
It is basically a wrapper around av_get_audio_frame_duration(), with a
fallback to AVCodecContext.frame_size. However, that field is set only
when the stream codec context is actually used for encoding or decoding,
which is discouraged.
For muxing, it is generally the responsibility of the caller to set the
packet duration.
For demuxing, if the duration is not stored at the container level, it
should be set by the parser.
Therefore, removing the frame_size fallback should not break any
important case.
(cherry picked from commit 30e50c5027)
Conflicts:
libavformat/utils.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
committed by
Michael Niedermayer
parent
7b59217b60
commit
d92550d191
@@ -712,21 +712,6 @@ static int determinable_frame_size(AVCodecContext *avctx)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the number of samples of an audio frame. Return -1 on error.
|
||||
*/
|
||||
int ff_get_audio_frame_size(AVCodecContext *enc, int size, int mux)
|
||||
{
|
||||
int frame_size;
|
||||
|
||||
if ((frame_size = av_get_audio_frame_duration(enc, size)) > 0)
|
||||
return frame_size;
|
||||
|
||||
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the frame duration in seconds. Return 0 if not available.
|
||||
*/
|
||||
@@ -762,7 +747,7 @@ void ff_compute_frame_duration(int *pnum, int *pden, AVStream *st,
|
||||
}
|
||||
break;
|
||||
case AVMEDIA_TYPE_AUDIO:
|
||||
frame_size = ff_get_audio_frame_size(st->codec, pkt->size, 0);
|
||||
frame_size = av_get_audio_frame_duration(st->codec, pkt->size);
|
||||
if (frame_size <= 0 || st->codec->sample_rate <= 0)
|
||||
break;
|
||||
*pnum = frame_size;
|
||||
|
||||
Reference in New Issue
Block a user