[vlc-devel] [PATCH 7/7] vout: display: pass the vout_display_priv_t directly in internal calls
Thomas Guillem
thomas at gllm.fr
Thu Oct 10 09:15:09 CEST 2019
On Thu, Oct 10, 2019, at 08:45, Steve Lhomme wrote:
> On 2019-10-10 8:29, Rémi Denis-Courmont wrote:
> > And I disagree with the other patch too, so...
> >
> > This is totally against common practices for doing OOP-like code in
> > non-OOP languages like C. You can't even do that sort of change in OOP...
>
> In C++ when you have callbacks it's common to cast the opaque pointer
> back to the instance pointer and then call a method on the object. You
> never call each internal function of the class with the opaque pointer
> and cast it each time. This is exactly similar to what I want to avoid here.
But it's not done like that in 90% of the VLC code base. We never decided to change it. I'm very fine with the current scheme.
I already had to move back every functions from priv to public because of an API that needed more contexts (like, logging, variable...).
>
> > Le 10 octobre 2019 09:15:00 GMT+03:00, Steve Lhomme <robux4 at ycbcr.xyz> a
> > écrit :
> >
> > On 2019-10-09 18:19, Rémi Denis-Courmont wrote:
> >
> > Hi,
> >
> > This feels very backward. We don't normally pass the private
> > data. And the
> > compilers are perfectly capable to optimize the back-and-forth
> > conversion so
> > the change is completely useless.
> >
> >
> > container_of() is a glorified cast. One should not use cast unless
> > there's no other option.
> >
> > This is exactly the same as was done in
> > `a46508d9dd8eeccc8e8fa778b331f6c027db84c7`.
> > ------------------------------------------------------------------------
> > vlc-devel mailing list
> > To unsubscribe or modify your subscription options:
> > https://mailman.videolan.org/listinfo/vlc-devel
> >
> >
> > --
> > Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser
> > ma brièveté.
> >
> > _______________________________________________
> > vlc-devel mailing list
> > To unsubscribe or modify your subscription options:
> > https://mailman.videolan.org/listinfo/vlc-devel
> >
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
More information about the vlc-devel
mailing list