[mythtv-commits] Ticket #6162: Remote control events queue then dequeue.
MythTV
mythtv at cvs.mythtv.org
Fri Jan 23 13:46:22 UTC 2009
#6162: Remote control events queue then dequeue.
-------------------------------------+--------------------------------------
Reporter: Roo | Owner: ijr
Type: defect | Status: new
Priority: major | Milestone: unknown
Component: MythTV - Video Playback | Version: head
Severity: high | Mlocked: 0
-------------------------------------+--------------------------------------
'''Summary'''[[br]]
It seems that there is a X11L / X11U pair in the
MythMainWindow::customEvent code by way of the
GetMythUI()->DoResetScreensaver() call, this looks like it is blocking the
event dispatching. Disclaimer: I am not a Qt expert.
'''Detail'''[[br]]
When watching a recording if I skip forward (or backward) I trigger a
problem where further remote events are queued up for some time before
being processed.
This is only triggered when sending a remote command after a skip forward.
When the stall is introduced I then see keyboard events queued up as well
as the network control socket.
After some period of time the events appear to dequeue, I am not sure all
events are seen later though. This delay can be a short as a few seconds
or as long as a few minutes.
* Reverting [19069] does not help fix the problem
* I do not have xscreensaver or gnome screensaver installed
* Problem still exists if I start frontend without a /dev/lircd
'''mythfrontend.log'''[[br]]
The attached diff shows where the verbose statements were added.
At 2009-01-23 22:28:19.472 you can see that the TV::eventFilter was
delayed approx 1:17. This is the typical behaviour seen when the problem
was triggered although delay may be longer or shorter.
Much the same thing was seen when debugging was added to
MythMainWinow::eventFilter which can be seen here IIRC if pastebin is
responding: http://pastebin.ca/1315604
'''gdb1.txt'''[[BR]]
First interesting backtrace I have got during the stalled time, thread 1
looks like it is waiting on a lock, that would (I think) explain the delay
in the handling of the events. It appears it is stalling the Qt event
dispatching, for want of a better term.
Reverting [19567] appears to "fix" the problem. I suspect there is a
better fix though. For those that want to try this the svn commandline is:
{{{
svn merge -c -19567 mythtv/libs/libmythui/screensaver-x11.cpp
}}}
It is also possible that the events at
http://cvs.mythtv.org/trac/browser/trunk/mythtv/libs/libmythui/mythmainwindow.cpp#L1608
could be masked if the screensaver disabled.
--
Ticket URL: <http://svn.mythtv.org/trac/ticket/6162>
MythTV <http://www.mythtv.org/>
MythTV
More information about the mythtv-commits
mailing list