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

List:       kde-commits
Subject:    KDE/kdelibs/phonon
From:       Matthias Kretz <kretz () kde ! org>
Date:       2007-05-01 10:25:15
Message-ID: 1178015115.788286.1695.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 660014 by mkretz:

implement MediaSource(QIODevice *) which will allow the easy use of a QBuffer
with MediaObject:
MediaObject::setCurrentSource(QBuffer *)


 M  +1 -0      CMakeLists.txt  
 A             iodevicestream.cpp   [License: no copyright]
 A             iodevicestream.h   [License: LGPL (v2)]
 A             iodevicestream_p.h   [License: LGPL (v2)]
 M  +11 -0     mediasource.cpp  
 M  +2 -1      mediasource.h  
 M  +3 -1      mediasource_p.h  


--- trunk/KDE/kdelibs/phonon/CMakeLists.txt #660013:660014
@@ -53,6 +53,7 @@
 	seekslider.cpp
 	volumeslider.cpp
 	effectwidget.cpp
+	iodevicestream.cpp
 	)
 
 kde4_automoc(${phonon_LIB_SRCS})
--- trunk/KDE/kdelibs/phonon/mediasource.cpp #660013:660014
@@ -19,6 +19,7 @@
 
 #include "mediasource.h"
 #include "mediasource_p.h"
+#include "iodevicestream.h"
 
 namespace Phonon
 {
@@ -54,8 +55,18 @@
     d->stream = stream;
 }
 
+MediaSource::MediaSource(QIODevice *ioDevice)
+    : d(new MediaSourcePrivate(Stream))
+{
+    d->stream = new IODeviceStream(ioDevice);
+    d->deleteStream = true;
+}
+
 MediaSource::~MediaSource()
 {
+    if (d->deleteStream) {
+        delete d->stream;
+    }
 }
 
 MediaSource::MediaSource(const MediaSource &rhs)
--- trunk/KDE/kdelibs/phonon/mediasource.h #660013:660014
@@ -27,6 +27,7 @@
 
 class QString;
 class QUrl;
+class QIODevice;
 
 namespace Phonon
 {
@@ -54,7 +55,7 @@
         MediaSource(const QUrl &url);
         MediaSource(Phonon::DiscType, const QString &deviceName = QString());
         MediaSource(AbstractMediaStream *);
-        //MediaSource(QIODevice *);
+        MediaSource(QIODevice *);
         //MediaSource(const AudioCaptureDevice &, const VideoCaptureDevice &);
         ~MediaSource();
         MediaSource(const MediaSource &);
--- trunk/KDE/kdelibs/phonon/mediasource_p.h #660013:660014
@@ -34,7 +34,8 @@
 {
     public:
         MediaSourcePrivate(MediaSource::Type t)
-            : type(t), discType(NoDisc), stream(0)
+            : type(t), discType(NoDisc), stream(0),
+            deleteStream(false)
         {
         }
 
@@ -45,6 +46,7 @@
         AbstractMediaStream *stream;
         AudioCaptureDevice audioCaptureDevice;
         VideoCaptureDevice videoCaptureDevice;
+        bool deleteStream;
 };
 
 } // namespace Phonon
[prev in list] [next in list] [prev in thread] [next in thread] 

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