diff options
Diffstat (limited to 'vdr_player.c')
| -rw-r--r-- | vdr_player.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/vdr_player.c b/vdr_player.c index 3b3035f..01e7337 100644 --- a/vdr_player.c +++ b/vdr_player.c @@ -682,10 +682,11 @@ mgPCMPlayer::Action (void) break; } } + eState curr_m_state=m_state; // avoid helgrind warning Unlock (); - if ((m_rframe || m_state == msWait) && m_pframe) + if ((m_rframe || curr_m_state == msWait) && m_pframe) { // Wait for output to become ready DevicePoll (poll, 500); @@ -826,18 +827,18 @@ mgPCMPlayer::Play (void) { MGLOG ("mgPCMPlayer::Play"); - Lock (); if (m_playmode != pmPlay && m_current) { + Lock (); if (m_playmode == pmStopped) { m_state = msStart; } // DevicePlay(); // TODO? Commented out in original code, too SetPlayMode (pmPlay); + Unlock (); } - Unlock (); } |
