summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dxr3device.c19
-rw-r--r--dxr3device.h1
2 files changed, 13 insertions, 7 deletions
diff --git a/dxr3device.c b/dxr3device.c
index ef2cc53..81726c6 100644
--- a/dxr3device.c
+++ b/dxr3device.c
@@ -545,15 +545,9 @@ void cDxr3Device::uploadFirmware()
void cDxr3Device::setPlayMode()
{
- em8300_register_t reg;
-
int ioval = EM8300_PLAYMODE_PLAY;
CHECK(ioctl(fdControl, EM8300_IOCTL_SET_PLAYMODE, &ioval));
- reg.microcode_register = 1;
- reg.reg = 0;
- reg.val = MVCOMMAND_SYNC;
-
- CHECK(ioctl(fdControl, EM8300_IOCTL_WRITEREG, &reg));
+ writeRegister(0, MVCOMMAND_SYNC);
}
void cDxr3Device::playVideoFrame(cDxr3PesFrame *frame, uint32_t pts)
@@ -587,6 +581,17 @@ void cDxr3Device::playSilentAudio()
audioOut->write(silentAudio, SILENT_AUDIO_SIZE);
}
+void cDxr3Device::writeRegister(int reg, int value)
+{
+ em8300_register_t regs;
+
+ regs.microcode_register = 1;
+ regs.reg = reg;
+ regs.val = value;
+
+ CHECK(ioctl(fdControl, EM8300_IOCTL_WRITEREG, &regs));
+}
+
// Local variables:
// mode: c++
// c-file-style: "stroustrup"
diff --git a/dxr3device.h b/dxr3device.h
index b056d08..bc9e74e 100644
--- a/dxr3device.h
+++ b/dxr3device.h
@@ -106,6 +106,7 @@ private:
void playVideoFrame(cDxr3PesFrame *frame, uint32_t pts);
void playBlackFrame();
void playSilentAudio();
+ void writeRegister(int reg, int value);
cMutex mutex;
uchar *silentAudio;