From 4a4c68a81ef807175d3c193eab4743169d3f9627 Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Fri, 11 Nov 2005 16:06:12 +0000 Subject: [PATCH] PAUSE audio, too --- lib/dvb/decoder.cpp | 24 ++++++++++++++++++++---- lib/dvb/decoder.h | 2 ++ 2 files changed, 22 insertions(+), 4 deletions(-) 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; } diff --git a/lib/dvb/decoder.h b/lib/dvb/decoder.h index 68262fe0..dd396967 100644 --- a/lib/dvb/decoder.h +++ b/lib/dvb/decoder.h @@ -19,6 +19,8 @@ public: void stopPid(); #endif void flush(); + void freeze(); + void unfreeze(); virtual ~eDVBAudio(); }; -- 2.30.2