extragear/multimedia/amarok/src

Seb Ruiz me at sebruiz.net
Tue Jun 27 09:17:07 UTC 2006


SVN commit 555382 by seb:

New engine virtual method, EngineBase::flush(), which empties the buffer for the engine.
Implemented for xine (i think) (thanks flameeyes!)
CCMAIL:amarok at kde.org


 M  +9 -0      engine/xine/xine-engine.cpp  
 M  +1 -0      engine/xine/xine-engine.h  
 M  +3 -0      enginebase.h  


--- trunk/extragear/multimedia/amarok/src/engine/xine/xine-engine.cpp #555381:555382
@@ -40,6 +40,8 @@
     #include <unistd.h>
     #include "xine-scope.h"
 }
+// must be included after xine-scope.h
+#include <xine/audio_out.h> //flush
 
 #ifndef LLONG_MAX
 #define LLONG_MAX 9223372036854775807LL
@@ -1161,4 +1163,11 @@
     return true;
 }
 
+bool XineEngine::flushBuffer()
+{
+    debug() << "flush!" << endl;
+    m_audioPort->flush( m_audioPort );
+    return true;
+}
+
 #include "xine-engine.moc"
--- trunk/extragear/multimedia/amarok/src/engine/xine/xine-engine.h #555381:555382
@@ -42,6 +42,7 @@
 
     virtual bool metaDataForUrl(const KURL &url, Engine::SimpleMetaBundle &b);
     virtual bool getAudioCDContents(const QString &device, KURL::List &urls);
+    virtual bool flushBuffer();
 
     virtual Engine::State state() const;
     virtual const Engine::Scope &scope();
--- trunk/extragear/multimedia/amarok/src/enginebase.h #555381:555382
@@ -213,6 +213,9 @@
         virtual bool getAudioCDContents(const QString &, KURL::List &)
         { return false; }
 
+        /** flush the current stream buffer */
+        virtual bool flushBuffer() { return false; }
+
     protected:
         Base();
 



More information about the Amarok mailing list