diff options
-rw-r--r-- | dxr3device.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/dxr3device.c b/dxr3device.c index 92ea540..7cfd515 100644 --- a/dxr3device.c +++ b/dxr3device.c @@ -82,18 +82,16 @@ bool cDxr3Device::CanReplay() const // ================================== bool cDxr3Device::SetPlayMode(ePlayMode PlayMode) { + dsyslog("[dxr3-device] setting playmode %d", PlayMode); + if (PlayMode != pmExtern_THIS_SHOULD_BE_AVOIDED) { - cDxr3Interface::instance()->ClaimDevices(); - audioOut->openDevice(); + turnPlugin(true); + return true; } - dsyslog("setting playmode %d", PlayMode); - switch (PlayMode) { case pmExtern_THIS_SHOULD_BE_AVOIDED: - Tools::WriteInfoToOsd(tr("DXR3: releasing devices")); - cDxr3Interface::instance()->ReleaseDevices(); - audioOut->releaseDevice(); + turnPlugin(false); break; case pmNone: @@ -305,6 +303,7 @@ void cDxr3Device::turnPlugin(bool on) m_DemuxDevice.Clear(); // release device and give control to somebody else + Tools::WriteInfoToOsd(tr("DXR3: releasing devices")); cDxr3Interface::instance()->ReleaseDevices(); audioOut->releaseDevice(); |