[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdesupport/phonon/phonon
From:       Matthias Kretz <kretz () kde ! org>
Date:       2008-11-19 21:03:31
Message-ID: 1227128611.904836.21237.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 886701 by mkretz:

clean out AbstractMediaStream2 remains


 M  +1 -10     CMakeLists.txt  
 M  +1 -12     mediasource.cpp  
 M  +0 -3      mediasource_p.h  
 M  +17 -126   streaminterface.cpp  
 M  +0 -31     streaminterface.h  
 M  +4 -41     streaminterface_p.h  


--- trunk/kdesupport/phonon/phonon/CMakeLists.txt #886700:886701
@@ -14,7 +14,6 @@
    phononnamespace.cpp
    mediasource.cpp
    abstractmediastream.cpp
-   #abstractmediastream2.cpp
    streaminterface.cpp
    mediaobject.cpp
    medianode.cpp
@@ -39,15 +38,8 @@
    volumeslider.cpp
    effectwidget.cpp
    iodevicestream.cpp
-   lockfreequeue.cpp
-   streameventqueue.cpp
    )
-if (WIN32)
-    list(APPEND phonon_LIB_SRCS 
-        abstractmediastream2.cpp
-    )
-endif(WIN32)
-   
+
 if (QT_QTDBUS_FOUND)
    list(APPEND phonon_LIB_SRCS
       audiooutputadaptor.cpp
@@ -81,7 +73,6 @@
    ${CMAKE_CURRENT_BINARY_DIR}/phononnamespace.h
    mediasource.h
    abstractmediastream.h
-   #abstractmediastream2.h
    streaminterface.h
    mediaobject.h
    audiooutput.h
--- trunk/kdesupport/phonon/phonon/mediasource.cpp #886700:886701
@@ -23,7 +23,7 @@
 #include "mediasource.h"
 #include "mediasource_p.h"
 #include "iodevicestream_p.h"
-#include "abstractmediastream2_p.h"
+#include "abstractmediastream_p.h"
 
 #include <QtCore/QFileInfo>
 #include <QtCore/QFile>
@@ -143,9 +143,6 @@
         delete stream;
         delete ioDevice;
     }
-    if (streamEventQueue) {
-        streamEventQueue->deref();
-    }
 #endif //QT_NO_PHONON_ABSTRACTMEDIASTREAM
 }
 
@@ -214,14 +211,6 @@
 void MediaSourcePrivate::setStream(AbstractMediaStream *s)
 {
     stream = s;
-#if 0
-    AbstractMediaStream2 *s2 = qobject_cast<AbstractMediaStream2 *>(s);
-    if (s2) {
-        streamEventQueue = s2->d_func()->streamEventQueue;
-        Q_ASSERT(streamEventQueue);
-        streamEventQueue->ref();
-    }
-#endif
 }
 #endif //QT_NO_PHONON_ABSTRACTMEDIASTREAM
 
--- trunk/kdesupport/phonon/phonon/mediasource_p.h #886700:886701
@@ -26,7 +26,6 @@
 #include "mediasource.h"
 #include "objectdescription.h"
 #include "abstractmediastream.h"
-#include "streameventqueue_p.h"
 
 #include <QtCore/QUrl>
 #include <QtCore/QString>
@@ -47,7 +46,6 @@
             : type(t), discType(NoDisc),
 #ifndef QT_NO_PHONON_ABSTRACTMEDIASTREAM
             stream(0),
-            streamEventQueue(0),
             ioDevice(0),
 #endif //QT_NO_PHONON_ABSTRACTMEDIASTREAM
             autoDelete(false)
@@ -72,7 +70,6 @@
         // another thread deletes the AbstractMediaStream2. StreamInterface(2) will \
then just get a  // StreamEventQueue where nobody answers.
         QPointer<AbstractMediaStream> stream;
-        StreamEventQueue *streamEventQueue;
 
 //        AudioCaptureDevice audioCaptureDevice;
 //        VideoCaptureDevice videoCaptureDevice;
--- trunk/kdesupport/phonon/phonon/streaminterface.cpp #886700:886701
@@ -22,16 +22,14 @@
 
 #include "streaminterface.h"
 #include "streaminterface_p.h"
-#include "abstractmediastream2.h"
+#include "abstractmediastream.h"
 #include "abstractmediastream_p.h"
 #include "mediasource_p.h"
-#include "phononnamespace_p.h"
-#include <QtCore/QEvent>
 
-#ifndef QT_NO_PHONON_ABSTRACTMEDIASTREAM
-
 QT_BEGIN_NAMESPACE
 
+#ifndef QT_NO_PHONON_ABSTRACTMEDIASTREAM
+
 namespace Phonon
 {
 
@@ -43,66 +41,28 @@
 
 StreamInterface::~StreamInterface()
 {
-    if (d->streamEventQueue) {
-        // better be safe and make the AbstractMediaStream2 not fill the queue \
                uselessly
-        d->streamEventQueue->sendToFrontend(StreamEventQueue::EnoughData);
-
-        // setBackendCommandHandler blocks internally until a handler that might be \
                called right
-        // now is done. That means StreamInterfacePrivate::dataReady will either not \
                run again
-        // or it will be done before this object and our d object are deleted.
-        d->streamEventQueue->setBackendCommandHandler(0);
-        d->streamEventQueue->deref();
-        d->streamEventQueue = 0;
-    } else if (d->connected) {
+    if (d->connected) {
         AbstractMediaStreamPrivate *dd = d->mediaSource.stream()->d_func();
         dd->setStreamInterface(0);
     }
     delete d;
-    // if eventDispatcher->wakeUp() was called and we are now still connected to its \
                awake() signal
-    // then the QObject will be deleted until execution reaches the event loop again \
                and
-    // handleStreamEvent will not get called
 }
 
 void StreamInterface::connectToSource(const MediaSource &mediaSource)
 {
     Q_ASSERT(!d->connected);
-    Q_ASSERT(!d->streamEventQueue);
+    d->connected = true;
     d->mediaSource = mediaSource;
     Q_ASSERT(d->mediaSource.type() == MediaSource::Stream);
     Q_ASSERT(d->mediaSource.stream());
-#if 0
-    AbstractMediaStream2 *stream2 = qobject_cast<AbstractMediaStream2 \
                *>(d->mediaSource.stream());
-    if (stream2) {
-        if (!d->qobject) {
-            d->qobject = new StreamInterfacePrivateHelper(d);
-        }
-        if (!d->awakeSignalConnected) {
-            d->awakeSignalConnected = true;
-            QObject::connect(d->eventDispatcher, SIGNAL(awake()), d->qobject, \
                SLOT(_k_handleStreamEvent()), Qt::DirectConnection);
-        }
-        d->streamEventQueue = mediaSource.d->streamEventQueue;
-        d->streamEventQueue->ref();
-        d->streamEventQueue->setBackendCommandHandler(d);
-        d->streamEventQueue->sendToFrontend(StreamEventQueue::Connect);
-    } else {
-#endif
-        if (d->awakeSignalConnected) {
-            d->awakeSignalConnected = false;
-            QObject::disconnect(d->eventDispatcher, SIGNAL(awake()), d->qobject, \
                SLOT(_k_handleStreamEvent()));
-        }
-        d->connected = true;
-        AbstractMediaStreamPrivate *dd = d->mediaSource.stream()->d_func();
-        dd->setStreamInterface(this);
-        d->mediaSource.stream()->reset();
-#if 0
-    }
-#endif
+    AbstractMediaStreamPrivate *dd = d->mediaSource.stream()->d_func();
+    dd->setStreamInterface(this);
+    d->mediaSource.stream()->reset();
 }
 
 void StreamInterfacePrivate::disconnectMediaStream()
 {
     Q_ASSERT(connected);
-    Q_ASSERT(!streamEventQueue);
     connected = false;
 
     // if mediaSource has autoDelete set then it will delete the AbstractMediaStream \
again who's @@ -116,108 +76,39 @@
 
 void StreamInterface::needData()
 {
-    if (d->streamEventQueue) {
-        d->streamEventQueue->sendToFrontend(StreamEventQueue::NeedData, \
                quint32(4096));
-    } else if (d->connected) {
+    if (d->mediaSource.type() == MediaSource::Stream) {
         d->mediaSource.stream()->needData();
     }
 }
 
 void StreamInterface::enoughData()
 {
-    if (d->streamEventQueue) {
-        d->streamEventQueue->sendToFrontend(StreamEventQueue::EnoughData);
-    } else {
-        Q_ASSERT(d->connected);
+    Q_ASSERT(d->connected);
+    if (d->mediaSource.type() == MediaSource::Stream) {
         d->mediaSource.stream()->enoughData();
     }
 }
 
 void StreamInterface::seekStream(qint64 offset)
 {
-    if (d->streamEventQueue) {
-        d->streamEventQueue->sendToFrontend(StreamEventQueue::Seek, offset);
-    } else {
-        Q_ASSERT(d->connected);
+    Q_ASSERT(d->connected);
+    if (d->mediaSource.type() == MediaSource::Stream) {
         d->mediaSource.stream()->seekStream(offset);
     }
 }
 
 void StreamInterface::reset()
 {
-    if (d->streamEventQueue) {
-        d->streamEventQueue->sendToFrontend(StreamEventQueue::Reset);
-    } else {
-        Q_ASSERT(d->connected);
+    Q_ASSERT(d->connected);
+    if (d->mediaSource.type() == MediaSource::Stream) {
         d->mediaSource.stream()->reset();
     }
 }
 
-void StreamInterfacePrivate::dataReady()
-{
-    Q_ASSERT(eventDispatcher);
-    eventDispatcher->wakeUp();
-}
-
-void StreamInterfacePrivate::_k_handleStreamEvent()
-{
-    Q_ASSERT(streamEventQueue);
-    StreamEventQueue::Command c;
-    while (streamEventQueue->nextCommandForBackend(&c)) {
-        switch (c.command) {
-        case StreamEventQueue::NeedData:
-        case StreamEventQueue::EnoughData:
-        case StreamEventQueue::Seek:
-        case StreamEventQueue::Reset:
-        case StreamEventQueue::Connect:
-        case StreamEventQueue::SeekDone:
-        case StreamEventQueue::ResetDone:
-        case StreamEventQueue::ConnectDone:
-            pFatal("AbstractMediaStream2 received wrong Command");
-            break;
-        case StreamEventQueue::SetStreamSize:
-            q->setStreamSize(qvariant_cast<quint64>(c.data));
-            break;
-        case StreamEventQueue::SetSeekable:
-            q->setStreamSeekable(qvariant_cast<bool>(c.data));
-            break;
-        case StreamEventQueue::Write:
-            q->writeData(qvariant_cast<QByteArray>(c.data));
-            break;
-        case StreamEventQueue::EndOfData:
-            q->endOfData();
-            break;
-        }
-    }
-}
-
-#if 0
-void StreamInterface2::needData(quint32 size)
-{
-    if (d->streamEventQueue) {
-        d->streamEventQueue->sendToFrontend(StreamEventQueue::NeedData, size);
-    } else if (d->connected) {
-        d->mediaSource.stream()->needData();
-    }
-}
-
-StreamInterface2::StreamInterface2(QObject *parent)
-    : QObject(parent)
-{
-    d->qobject = this;
-}
-
-StreamInterface2::~StreamInterface2()
-{
-    d->qobject = 0;
-}
-#endif
-
 } // namespace Phonon
 
+#endif //QT_NO_PHONON_ABSTRACTMEDIASTREAM
+
 QT_END_NAMESPACE
 
-#include "moc_streaminterface.cpp"
-#include "moc_streaminterface_p.cpp"
 
-#endif //QT_NO_PHONON_ABSTRACTMEDIASTREAM
--- trunk/kdesupport/phonon/phonon/streaminterface.h #886700:886701
@@ -111,37 +111,6 @@
 
         StreamInterfacePrivate *const d;
 };
-
-/**
- * \warning Even though AbstractMediaStream2 may be used from any thread, \
                StreamInterface2 still has
- * to run in the main thread for compatibility with AbstractMediaStream.
- */
-#if 0
-class PHONON_EXPORT StreamInterface2 : public QObject, public StreamInterface
-{
-    friend class StreamInterfacePrivate;
-    Q_OBJECT
-    public:
-        ~StreamInterface2();
-
-        /**
-         * Call this function to tell the AbstractMediaStream that you need more \
                data. The data will
-         * arrive through writeData. Don't rely on writeData getting called from \
                needData, though
-         * some AbstractMediaStream implementations might do so.
-         *
-         * Depending on the buffering you need you either treat needData as a \
                replacement for a
-         * read call like QIODevice::read, or you start calling needData whenever \
                your buffer
-         * reaches a certain lower threshold.
-         */
-        void needData(quint32);
-
-    protected:
-        StreamInterface2(QObject *parent = 0);
-
-    private:
-        Q_PRIVATE_SLOT(d, void _k_handleStreamEvent())
-};
-#endif
 } // namespace Phonon
 
 Q_DECLARE_INTERFACE(Phonon::StreamInterface, "StreamInterface1.phonon.kde.org")
--- trunk/kdesupport/phonon/phonon/streaminterface_p.h #886700:886701
@@ -24,10 +24,7 @@
 #define STREAMINTERFACE_P_H
 
 #include "streaminterface.h"
-#include "streameventqueue_p.h"
 #include "mediasource.h"
-#include <QtCore/QAbstractEventDispatcher>
-#include <QtCore/QObject>
 
 QT_BEGIN_NAMESPACE
 
@@ -35,57 +32,23 @@
 
 namespace Phonon
 {
-
-class StreamInterfacePrivateHelper;
-
-class StreamInterfacePrivate : public LockFreeQueueBase::DataReadyHandler
+class StreamInterfacePrivate
 {
     friend class StreamInterface;
-    friend class StreamInterface2;
-    friend class StreamInterfacePrivateHelper;
-
     public:
         void disconnectMediaStream();
 
     protected:
         inline StreamInterfacePrivate()
-            : qobject(0),
-            streamEventQueue(0),
-            eventDispatcher(QAbstractEventDispatcher::instance()),
-            connected(false),
-            awakeSignalConnected(false)
+            : connected(false)
         {
-            Q_ASSERT(eventDispatcher);
         }
 
-        inline ~StreamInterfacePrivate()
-        {
-            delete qobject;
-        }
-
-        virtual void dataReady();
-        void _k_handleStreamEvent();
-        void handleStreamEvent(QObject *sender);
-
-        MediaSource mediaSource;
-        QObject *qobject;
         StreamInterface *q;
-        StreamEventQueue *streamEventQueue;
-        QAbstractEventDispatcher *eventDispatcher;
-        quint8 connected : 1;
-        quint8 awakeSignalConnected : 1;
+        MediaSource mediaSource;
+        bool connected;
 };
 
-class StreamInterfacePrivateHelper : public QObject
-{
-    Q_OBJECT
-    public:
-        StreamInterfacePrivateHelper(StreamInterfacePrivate *qq) : q(qq) {}
-
-    private:
-        StreamInterfacePrivate *const q;
-};
-
 } // namespace Phonon
 
 #endif // QT_NO_PHONON_ABSTRACTMEDIASTREAM


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic