[vlc-devel] commit: opengl: fix an crash/ hang on exit because opengl needs the init and end to be done in the same thread . ( Rémi Duraffort )

Rémi Duraffort ivoire at videolan.org
Thu Jul 23 11:05:36 CEST 2009


> > vlc | branch: master | Rémi Duraffort <ivoire at videolan.org> | Wed Jul 22 10:48:46 2009 +0200| [153dd4aa04adbf9d8448d25d711f53bd00a89330] | committer: Rémi Duraffort 
> > 
> > opengl: fix an crash/hang on exit because opengl needs the init and end to be done in the same thread.
>  I am not sure it is relevant, but pf_init and pf_end can be called more than
> once. You unload in pf_end but the module_need seems to be done in Open() and
> not in pf_init (if true, I am not sure how to fix it).
I do think this is relevant as module_need is done in Open not Init, so
it will be a problem if pf_init and pf_end are called more than one
time.

Looking at src/video_output/video_output.c I see that a sequence pf_end
+ pf_init can be triggered in two cases:
 * VOUT_SIZE_CHANGE: can't happend as the opengl vout is rescaling
itself.
 * VOUT_PICTURE_BUFFERS_CHANGE: I don't know for this one.

But I think that's possible to move the module_need from Open to Init.
Moreover it will do all the opengl context stuff all in the same thread
which is better.
I will test it ...


regards.

-- 
Rémi Duraffort | ivoire



More information about the vlc-devel mailing list