[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