[mythtv-commits] mythtv/fixes/0.24 commit: 4693357f1 by mark-kendall (mark-kendall)
MythTV
noreply at mythtv.org
Sun Apr 17 02:59:36 UTC 2011
Author: mark-kendall <mkendall at mythtv.org>
Change Date: 2011-04-16T19:35:16-07:00
Push Date: 2011/04/16 19:59:34 -0700
Repository: mythtv
Branch: fixes/0.24
New Revision: 4693357f1e34025b2652e6e17d319ab7c8b850a0
Changeset: https://github.com/MythTV/mythtv/commit/4693357f1
Log:
MythPlayer: Fix a Live TV channel change deadlock.
This recognises that the decoder loop effectively has 3 different states
- running, partially paused and completely paused. The partial pause
state still allows the playback thread to decode a single frame on
demand, seek and perform position map syncs. Allowing these while the
decoder is changing adds various complications - hence add a new member
state variable, totalDecoderPause, that ensures the decoder loop does
nothing other than check its own pause state when completely paused.
Aside from fixing a deadlock on channel changes, this should also
speedup decoder changes under certain situations and probably prevents a
couple of even more obscure bugs (e.g. if a seek is triggered at the
same time as a channel change).
Modified:
mythtv/libs/libmythtv/mythplayer.cpp
mythtv/libs/libmythtv/mythplayer.h
More information about the mythtv-commits
mailing list