diff options
-rw-r--r-- | dxr3device.c | 19 | ||||
-rw-r--r-- | dxr3device.h | 1 |
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, ®)); + 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, ®s)); +} + // 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; |