On 2013-02-15 08:57:13 +0100, Anton Khirnov wrote:
> 
> On Thu, 14 Feb 2013 23:12:52 +0100, Janne Grunau <[email protected]> 
> wrote:
> > On 2013-02-13 19:48:32 +0100, Anton Khirnov wrote:
> > > +     *
> > > +     * If frame multithreading is used and thread_safe_callbacks is set,
> > > +     * this callback may be called from a different thread, but not from 
> > > more
> > > +     * than one at once. Does not need to be reentrant.
> > 
> > Are you sure the last part is true? It's probably true since we have to
> > guarantee that get_buffer is always called before finish_setup for
> > non-thread safe callbacks but it seems to be an odd and unecessary
> > limitation. Who writes thread-safe but not reentrant safe functions?
> > 
> 
> Well..I simply copied that part from get_buffer() docs. And nothing changed in
> the way that code works.

probably ok

> > >  /**
> > >   * Return the amount of padding in pixels which the get_buffer callback 
> > > must
> > > @@ -4141,8 +4256,6 @@ int avcodec_fill_audio_frame(AVFrame *frame, int 
> > > nb_channels,
> > >   */
> > >  void avcodec_flush_buffers(AVCodecContext *avctx);
> > >  
> > > -void avcodec_default_free_buffers(AVCodecContext *s);
> > > -
> > 
> > removing a public exported function without major bump
> > 
> 
> There is a major bump. I'm adding a field to AVPacket in TEP Part I, 06/10; so
> we have to bump lavc, lavf and lavd.

hmm, I guess there is nothing useful to in it and third party code
calling this is probably questionable.


> > > +void avcodec_default_release_buffer(AVCodecContext *s, AVFrame *pic)
> > > +{
> > > +    av_assert0(0);
> > > +}
> > > +
> > > +int avcodec_default_reget_buffer(AVCodecContext *s, AVFrame *pic)
> > > +{
> > > +    av_assert0(0);
> > > +}
> > 
> > a nasty way of deprecating external functions.
> > avcodec_default_release_buffer() is used third party code. I only
> > checked mythtv.
> 
> Ok, changed it to av_frame_unref(pic) locally. I kept the assert for reget
> though, since I cnt't see why whould it ever be called now.

ok, I can't see that either. the only use case where
avcodec_default_reget_buffer might have been called was the reget_buffer
callback which won't be called anymore.

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

Reply via email to