--- a/qtmobility/plugins/multimedia/directshow/player/directshowiosource.h Fri Apr 16 15:51:22 2010 +0300
+++ b/qtmobility/plugins/multimedia/directshow/player/directshowiosource.h Mon May 03 13:18:40 2010 +0300
@@ -42,13 +42,12 @@
#ifndef DIRECTSHOWIOSOURCE_H
#define DIRECTSHOWIOSOURCE_H
+#include "directshowglobal.h"
#include "directshowioreader.h"
#include "directshowmediatype.h"
#include "directshowmediatypelist.h"
-QT_BEGIN_NAMESPACE
-class QIODevice;
-QT_END_NAMESPACE
+#include <QtCore/qfile.h>
class DirectShowIOSource
: public DirectShowMediaTypeList
@@ -57,11 +56,12 @@
, public IPin
{
public:
- DirectShowIOSource(QIODevice *device, DirectShowEventLoop *loop);
+ DirectShowIOSource(DirectShowEventLoop *loop);
~DirectShowIOSource();
+ void setDevice(QIODevice *device);
void setAllocator(IMemAllocator *allocator);
-
+
// IUnknown
HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **ppvObject);
ULONG STDMETHODCALLTYPE AddRef();
@@ -123,6 +123,8 @@
volatile LONG m_ref;
FILTER_STATE m_state;
+ DirectShowIOReader *m_reader;
+ DirectShowEventLoop *m_loop;
IFilterGraph *m_graph;
IReferenceClock *m_clock;
IMemAllocator *m_allocator;
@@ -131,8 +133,17 @@
QString m_filterName;
const QString m_pinId;
QMutex m_mutex;
- DirectShowIOReader m_reader;
+};
+class DirectShowRcSource : public DirectShowIOSource
+{
+public:
+ DirectShowRcSource(DirectShowEventLoop *loop);
+
+ bool open(const QUrl &url);
+
+private:
+ QFile m_file;
};
#endif