diff options
author | Christian Gmeiner <christian.gmeiner@gmail.com> | 2010-02-17 20:22:37 +0100 |
---|---|---|
committer | Christian Gmeiner <christian.gmeiner@gmail.com> | 2010-02-17 20:22:37 +0100 |
commit | 884a7ad99d2b60f3932c79cbf88f7b4cbccdaa0a (patch) | |
tree | 71c86850a1fed92bcfe02d22f55603c17480ea4a | |
parent | 0265b061dc0706a450b1037e5c89da50d8dbcb44 (diff) | |
download | vdr-plugin-dxr3-884a7ad99d2b60f3932c79cbf88f7b4cbccdaa0a.tar.gz vdr-plugin-dxr3-884a7ad99d2b60f3932c79cbf88f7b4cbccdaa0a.tar.bz2 |
fix channel switching
-rw-r--r-- | dxr3device.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/dxr3device.c b/dxr3device.c index 7b3f754..4d933ad 100644 --- a/dxr3device.c +++ b/dxr3device.c @@ -119,6 +119,7 @@ bool cDxr3Device::CanReplay() const bool cDxr3Device::SetPlayMode(ePlayMode PlayMode) { dsyslog("[dxr3-device] setting playmode %d", PlayMode); + uint32_t val; switch (PlayMode) { case pmNone: @@ -127,6 +128,13 @@ bool cDxr3Device::SetPlayMode(ePlayMode PlayMode) audioOut->setEnabled(false); scrSet = false; playCount = 0; + + // here we use some magic + // set the scr into future so that the firmware/hardware + // clears the buffers. + CHECK(ioctl(fdControl, EM8300_IOCTL_SCR_GET, &val)); + val += 10000; + CHECK(ioctl(fdControl, EM8300_IOCTL_SCR_SET, &val)); break; case pmAudioVideo: |