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