PAUSE audio, too
authorFelix Domke <tmbinc@elitedvb.net>
Fri, 11 Nov 2005 16:06:12 +0000 (16:06 +0000)
committerFelix Domke <tmbinc@elitedvb.net>
Fri, 11 Nov 2005 16:06:12 +0000 (16:06 +0000)
lib/dvb/decoder.cpp
lib/dvb/decoder.h

index 751796aeaea20f9f49e797740c7ec4c3bba6a662..951a2edf1e5d539d2f9c28ca4c2e0d1e476776d9 100644 (file)
@@ -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;
 }
 
index 68262fe0e869e8fdb35f65903181f8866f456fa8..dd39696736c9a8df83c70d7087679412c0a61146 100644 (file)
@@ -19,6 +19,8 @@ public:
        void stopPid();
 #endif
        void flush();
+       void freeze();
+       void unfreeze();
        virtual ~eDVBAudio();
 };