[FFmpeg-devel] AVWriter again (was: v2 1/2] avformat/url: check double dot is not to parent directory)
zhilizhao
quinkblack at foxmail.com
Tue Jul 28 15:43:21 EEST 2020
> On Jul 28, 2020, at 8:02 PM, Nicolas George <george at nsup.org> wrote:
>
> zhilizhao (12020-07-28):
>> I think jb is referring to
>>
>> FILE *open_memstream(char **bufp, size_t *sizep);
>> https://linux.die.net/man/3/open_memstream <https://linux.die.net/man/3/open_memstream>
>>
>> VLC has a wrapper for it:
>>
>> https://code.videolan.org/videolan/vlc/-/blob/master/include/vlc_memstream.h <https://code.videolan.org/videolan/vlc/-/blob/master/include/vlc_memstream.h>
>
> Oh. Thanks. I had not realized such an useful function had been
> standardized.
>
> That means the argument about it being in lavf is wotrhless. But these
> two arguments:
>
>>> - avio_open_dyn_buf() always uses dynamic allocation. AVWriter starts
>>> entirely on the stack (or whatever we want), and only resorts to
>>> dynamic allocation if the buffer becomes too large. As a corollary,
>>> avio_open_dyn_buf() requires an error check at the beginning, which
>>> AVWriter does not.
fmemopen() can work with memory on stack or on heap, although it doesn’t
support switch between the two dynamically. It’s a good to have feature like
the small string optimization in std::string, but i’m not too keen on it.
>>>
>>> - AVWriter is polymorphic. I have shown only av_dynbuf_writer(), but
>>> there are others, and applications can implement their own. That is
>>> the key to the "wonderful features" I have evoked. I would be happy to
>>> tell more about them.
>
> apply to open_memstream() too.
>
> Please ask me about the wonderful features ;)
Please, what wonderful features are in your plan?
>
> Regards,
>
> --
> Nicolas George
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
More information about the ffmpeg-devel
mailing list