summaryrefslogtreecommitdiff
path: root/vdr_player.c
diff options
context:
space:
mode:
Diffstat (limited to 'vdr_player.c')
-rw-r--r--vdr_player.c7
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 ();
}