[mythtv-commits] mythtv commit: r23201 by markk

mythtv at cvs.mythtv.org mythtv at cvs.mythtv.org
Tue Jan 19 00:27:53 UTC 2010


      Author: markk
        Date: 2010-01-19 00:27:53 +0000 (Tue, 19 Jan 2010)
New Revision: 23201
   Changeset: http://svn.mythtv.org/trac/changeset/23201

Modified:

   branches/libmythui-osd/libs/libmythtv/NuppelVideoPlayer.cpp
   branches/libmythui-osd/libs/libmythtv/NuppelVideoPlayer.h

Log:

Branch libmythui-osd: Convert the video playback thread to a QThread.

Currently there is no Qt event loop running for the playback thread and
hence all Qt deleteLater calls are 'lost', leading to substantial memory
leaks from the new OSD code.

By converting to a QThread and starting the event loop, objects are
destroyed as expected. This is implemented with a zero timeout timer
that will trigger immediately all events have been processed. Any
performance impact should be minimal.

N.B. This removes, for the time being at least, the OS X garbage
collector. I'm not sure whether Qt handles this internally.

N.B. This removes the code that requests realtime priority for the video
playback thread. Following discussion on IRC, this may still be
achievable while running in a QThread though the setting may no longer
be widely used and/or of much utilty. The new QThread is allocated a
priority of QThread::TimeCriticalPriority which may give the same
results on certain platforms.

Refs #7650.





More information about the mythtv-commits mailing list