summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dxr3device.c8
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: