On 2020-07-28 20:43 +0800, zhilizhao wrote: > > On Jul 28, 2020, at 8:02 PM, Nicolas George <geo...@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?
I would say FILE * is polymorphic as well. Maybe we are not in control to provide more implementations, the question still would be which implementations we would want. Alexander _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".