On 10/16/2012 03:00 PM, Luca Barbato wrote:
> On 10/16/2012 08:19 PM, Justin Ruggles wrote:
>> The LAME API documentation for the required buffer size refers to the size 
>> for
>> a single encode call. However, we store multiple frames in the same output
>> buffer but only read 1 frame at a time out of it. As a result, the buffer 
>> size
>> given in lame_encode_buffer() is actually smaller than what it should be.
>> Since we do not know how many frames it will end up buffering, it is best to
>> just reallocate if needed.
>> ---
>>  libavcodec/libmp3lame.c |   34 +++++++++++++++++++++++++++++++---
>>  1 files changed, 31 insertions(+), 3 deletions(-)
>>
> 
> Don't we have a function similar somewhere around the pattern seems common.

Similar, but not exactly. The trigger for reallocation is only based on
the minimum size needed, but when doing the reallocation it adds double
what it needs to avoid small incremental reallocations.

-Justin

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to