[FFmpeg-devel] [PATCH 1/4] lavu: add simple array implementation

Lukasz Marek lukasz.m.luki at gmail.com
Tue Mar 4 03:00:02 CET 2014


On 03.03.2014 11:33, Michael Niedermayer wrote:
> On Mon, Mar 03, 2014 at 11:00:18AM +0100, Lukasz M wrote:
>> W dniu poniedziałek, 3 marca 2014 Michael Niedermayer <michaelni at gmx.at>
>> napisał(a):
>>
>>> On Mon, Mar 03, 2014 at 01:59:43AM +0100, Lukasz Marek wrote:
>>>>
>>>>> You're adding it to lavu, and it's not marked as internal/experimental.
>>> If
>>>>> it stinks or needs 3 API updates or re-implementations, the old cruft
>>>>> sticks around for years to come.
>>>>
>>>> Can you precise how to mark it? I added it as public, but don't
>>>> understand how can i make it experimental.
>>>>
>>>
>>>>> That's why we now have 2 (and with yours, soon 3) array implementations.
>>>>> Can we stick to one? At least java uses the same API for all its
>>> array/list
>>>>> things.
>>>>
>>>> The existing two doesn't allow to free "objects" with allocated
>>>> pointers inside. If you fix them then you have 4. I really think it
>>>> is better to have one common for wide range of use cases. I can
>>>> refactor existing code to use mine if accepted.
>>>
>>> if i have an array of "object" with pointers inside them and want
>>> to free them id do
>>>
>>> for(i=0; i<arraysize; i++)
>>>      my_free(my_array + i);
>>>
>>> that needs no API beyond ANSI/ISO C
>>> what am i missing ?
>>>
>>
>> nothing. existing array impl is not so smart to do that on memory
>> allocation fail AFAIR.
>
> maybe it could be solved with something like
> int av_dynarray_add_nofree(...)
>
> which would not free the array on failure but return an error code
> and leave deallocation (if needed) to the caller

changed this way. I used proposed name, if someone have better one then 
go ahead.

-- 
Best Regards,
Lukasz Marek

If you can't explain it simply, you don't understand it well enough. - 
Albert Einstein
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-lavu-mem-add-av_dynarray_add_nofree-function.patch
Type: text/x-patch
Size: 3806 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20140304/ec82ebbc/attachment.bin>


More information about the ffmpeg-devel mailing list