X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/f94f8561a13e8666dd43e803d45325d1a9347cb2..acab01604673e3fb0d13e47f9ffb5c32e8d9dd07:/lib/dvb/decoder.cpp diff --git a/lib/dvb/decoder.cpp b/lib/dvb/decoder.cpp index 751796ae..951a2edf 100644 --- a/lib/dvb/decoder.cpp +++ b/lib/dvb/decoder.cpp @@ -98,6 +98,18 @@ void eDVBAudio::flush() if (::ioctl(m_fd, AUDIO_CLEAR_BUFFER) < 0) eDebug("audio: AUDIO_CLEAR_BUFFER: %m"); } + +void eDVBAudio::freeze() +{ + if (::ioctl(m_fd, AUDIO_PAUSE) < 0) + eDebug("video: AUDIO_PAUSE: %m"); +} + +void eDVBAudio::unfreeze() +{ + if (::ioctl(m_fd, AUDIO_CONTINUE) < 0) + eDebug("video: AUDIO_CONTINUE: %m"); +} eDVBAudio::~eDVBAudio() { @@ -421,8 +433,10 @@ RESULT eTSMPEGDecoder::freeze(int cont) { if (m_video) m_video->freeze(); - else - return -1; + + if (m_audio) + m_audio->freeze(); + return 0; } @@ -430,8 +444,10 @@ RESULT eTSMPEGDecoder::unfreeze() { if (m_video) m_video->unfreeze(); - else - return -1; + + if (m_audio) + m_audio->unfreeze(); + return 0; }