[vlc-devel] commit: Do not increase refcount when the release callback is not present. (Laurent Aimar )
fenrir at via.ecp.fr
Thu Jul 17 23:34:13 CEST 2008
On Thu, Jul 17, 2008, Pierre d'Herbemont wrote:
> On Jul 17, 2008, at 10:43 PM, git version control wrote:
> > vlc | branch: master | Laurent Aimar <fenrir at videolan.org> | Thu Jul
> > 17 22:45:03 2008 +0200| [76ab4696aa1dd14a349a7492faf4f93ddb13cbfc]
> > Do not increase refcount when the release callback is not present.
> >> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=76ab4696aa1dd14a349a7492faf4f93ddb13cbfc
> > ---
> > src/misc/image.c | 9 ++++++---
> > 1 files changed, 6 insertions(+), 3 deletions(-)
> > diff --git a/src/misc/image.c b/src/misc/image.c
> > index 4fc679a..3117ce4 100644
> > --- a/src/misc/image.c
> > +++ b/src/misc/image.c
> > @@ -316,7 +316,8 @@ static block_t *ImageWrite( image_handler_t
> > *p_image, picture_t *p_pic,
> > p_image->p_filter->fmt_out.video = p_image->p_enc-
> > >fmt_in.video;
> > }
> > - p_pic->i_refcount++; /* pf_video_filter() will call
> > pf_release() */
> > + if( p_pic->pf_release )
> > + p_pic->i_refcount++;
> Yet an other candid comment, why don't we use vlc_pic_incref() or even
> vlc_gc_incref() and so on here?
Because vlc_pic_incref does not exit (and should probably be called vlc_picture_yield
to be consistant with vlc_object_t).
And because vlc_gc_incref is not applicable here as pf_release is called every time
(it is not a destructor)...
So unless I overlooked and missed the obvious, I will clean up by introducing a
few helpers for picture..
More information about the vlc-devel