[FFmpeg-devel] [PATCH] lavfi: asetnsamples: fix enlarging fifo
Andrey Utkin
andrey.krieger.utkin at gmail.com
Mon Aug 6 23:33:40 CEST 2012
2012/8/7 Stefano Sabatini <stefasab at gmail.com>:
> This is overallocating the fifo.
>
> We need to add nb_samples to the fifo, but only FIFO_SPACE <
> nb_samples are available, so we increase the fifo max size to
> FIFO_SIZE + nb_samples.
>
> We have:
> FIFO_SIZE + FIFO_SPACE = AVAILABLE_SIZE
>
> FIFO_SPACE = nb_samples
>
> so it must result:
> FIFO_SIZE + nb_samples = AVAILABLE_SIZE
>
> What am I missing?
You're missing the fact that av_audio_fifo_size() returns not the full
memory capacity of the object, but the amount of data loaded into it.
The same principle applies to AVFifoBuffer. This is confusing moment
indeed.
/**
* Get the current number of samples in the AVAudioFifo available for reading.
*
* @param af the AVAudioFifo to query
* @return number of samples available for reading
*/
int av_audio_fifo_size(AVAudioFifo *af);
--
Andrey Utkin
More information about the ffmpeg-devel
mailing list