summaryrefslogtreecommitdiffstats
path: root/src/plugins/mediaservices/directshow/mediaplayer/directshowiosource.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/mediaservices/directshow/mediaplayer/directshowiosource.h')
-rw-r--r--src/plugins/mediaservices/directshow/mediaplayer/directshowiosource.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/plugins/mediaservices/directshow/mediaplayer/directshowiosource.h b/src/plugins/mediaservices/directshow/mediaplayer/directshowiosource.h
index a8ed56a..b626473 100644
--- a/src/plugins/mediaservices/directshow/mediaplayer/directshowiosource.h
+++ b/src/plugins/mediaservices/directshow/mediaplayer/directshowiosource.h
@@ -51,7 +51,7 @@ QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
-class QIODevice;
+#include <QtCore/qfile.h>
class DirectShowIOSource
: public DirectShowMediaTypeList
@@ -60,9 +60,10 @@ class DirectShowIOSource
, public IPin
{
public:
- DirectShowIOSource(QIODevice *device, DirectShowEventLoop *loop);
+ DirectShowIOSource(DirectShowEventLoop *loop);
~DirectShowIOSource();
+ void setDevice(QIODevice *device);
void setAllocator(IMemAllocator *allocator);
// IUnknown
@@ -126,6 +127,8 @@ private:
volatile LONG m_ref;
FILTER_STATE m_state;
+ DirectShowIOReader *m_reader;
+ DirectShowEventLoop *m_loop;
IFilterGraph *m_graph;
IReferenceClock *m_clock;
IMemAllocator *m_allocator;
@@ -134,8 +137,17 @@ private:
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;
};
QT_END_NAMESPACE