[vlc-devel] RE : commit: a missing module_unneed is added (Windowsand MacOS ports) ( Erwan Tulou )

brezhoneg1 brezhoneg1 at yahoo.fr
Mon Jun 22 21:06:33 CEST 2009


> >
> > a missing module_unneed is added (Windows and MacOS ports)
> >
> > On Windows, it hopefully solves crashes at termination for skins2
> >
> > >
>
http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=a8a020758902d9b63
3
> > >3f8b6f88895412efd9dffe
> >
> > ---
> >
> >  src/interface/interface.c |    2 ++
> >  1 files changed, 2 insertions(+), 0 deletions(-)
> >
> > diff --git a/src/interface/interface.c b/src/interface/interface.c
> > index c48986a..284e38f 100644
> > --- a/src/interface/interface.c
> > +++ b/src/interface/interface.c
> > @@ -147,6 +147,8 @@ int intf_RunThread( intf_thread_t *p_intf )
> >          vlc_thread_join( p_intf );
> >
> >          vlc_object_detach( p_intf );
> > +        if( p_intf->p_module )
> > +            module_unneed( p_intf, p_intf->p_module );
> >          vlc_object_release( p_intf );
> 
> Uh, please unload BEFORE detaching, otherwise pf_close cannot use
> var_CreateGet*().
> 

Okay, I can do it.

Just one point, wouldn't it be better to simply remove this block
(module_unneed, vlc_object_detach, vlc_object_release)?

At this point in the code, the playlist is not yet deactivated and an
input may still be running. Fully releasing the interface may lead to
problems with a vout thread.

In addition, by just removing them in this part of the code, they will
"naturally" be called later on in the termination process (in the loop
releasing all interfaces after the playlist is deactivated).

I tested it successfully on Windows(skins). But, MacOS devs also need to
agree on this.

Your advice ?

Rgds
Erwan10






More information about the vlc-devel mailing list