[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 )
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
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
* 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 ...
Rémi Duraffort | ivoire
More information about the vlc-devel