[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