Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
MythRender: Add a Release method to MythRenderOpenGL.
MythRenderOpenGL re-implements the QGLContext makeCurrent and doneCurrent methods in order to enforce thread safety. We recursively lock the context and only release it when the final doneCurrent call is received. When we call show() on the UI painter window, however, Qt calls makeCurrent several times internally without matching doneCurrent calls and hence we never actually unlock and release the main OpenGL context in normal use. With the imminent move to a single, shared OpenGL context for video and UI, this will cause a lockup at any point the decoder thread tries to re-initiate the video output objects (or deinterlacers) when using OpenGL for both video and the UI. So we simply force the context to release itself after the call to show().
- Loading branch information
Mark Kendall
committed
May 2, 2011
1 parent
5c5ad6c
commit ea24712
Showing
4 changed files
with
10 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters