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