[mythtv-commits] mythtv commit: r23467 - in trunk/mythtv/libs by markk

mythtv at cvs.mythtv.org mythtv at cvs.mythtv.org
Thu Feb 4 06:34:39 UTC 2010


      Author: markk
        Date: 2010-02-04 06:34:39 +0000 (Thu, 04 Feb 2010)
New Revision: 23467
   Changeset: http://svn.mythtv.org/trac/changeset/23467

Modified:

   trunk/mythtv/libs/libmythtv/videoout_vdpau.cpp
   trunk/mythtv/libs/libmythui/mythrender_vdpau.cpp
   trunk/mythtv/libs/libmythui/mythrender_vdpau.h

Log:

Improved VDPAU thread safety.

Firstly, internalise all access to the display device in MythRenderVDPAU
to ensure calls are serialised. Secondly, extend and tidy up locking
within VideoOutputVDPAU to ensure access to the MythRenderVDPAU object
is always safe when the object is being re-created. Generally this means
applying the lock in all public methods (hence assuming that private
methods are safe).

The only exception to this is VideoOutputVDPAU::DrawSlice. Locking here
would synchronise the decode and render threads (not a good thing) but
actually the main issue being addressed here is when the decoder thread
initiates recreation of the object when the input changes - hence calls
to InputChanged and DrawSlice should not be concurrent.

Closes #7779.





More information about the mythtv-commits mailing list