aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Transports
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/Transports')
-rw-r--r--src/plugins/Transports/http/httpstreamreader.cpp10
-rw-r--r--src/plugins/Transports/http/httpstreamreader.h4
-rw-r--r--src/plugins/Transports/mms/mmsstreamreader.cpp7
-rw-r--r--src/plugins/Transports/mms/mmsstreamreader.h4
4 files changed, 15 insertions, 10 deletions
diff --git a/src/plugins/Transports/http/httpstreamreader.cpp b/src/plugins/Transports/http/httpstreamreader.cpp
index c0e02ddb0..ba4bce35b 100644
--- a/src/plugins/Transports/http/httpstreamreader.cpp
+++ b/src/plugins/Transports/http/httpstreamreader.cpp
@@ -28,6 +28,7 @@
#include <qmmp/qmmp.h>
#include <qmmp/statehandler.h>
#include <qmmp/inputsource.h>
+#include "httpinputsource.h"
#include "httpstreamreader.h"
//curl callbacks
@@ -104,10 +105,9 @@ int curl_progress(void *pointer, double dltotal, double dlnow, double ultotal, d
return 0;
}
-
-HttpStreamReader::HttpStreamReader(const QString &url, QObject *parent)
- : QIODevice(parent)
+HttpStreamReader::HttpStreamReader(const QString &url, HTTPInputSource *parent) : QIODevice(parent)
{
+ m_parent = parent;
m_url = url;
curl_global_init(CURL_GLOBAL_ALL);
m_stream.buf_fill = 0;
@@ -373,8 +373,8 @@ void HttpStreamReader::checkBuffer()
metaData.insert(Qmmp::GENRE, m_stream.header.value("icy-genre"));
}
metaData.insert(Qmmp::URL, m_url);
- (qobject_cast<InputSource *>(parent()))->addMetaData(metaData);
- (qobject_cast<InputSource *>(parent()))->addStreamInfo(m_stream.header);
+ m_parent->addMetaData(metaData);
+ m_parent->addStreamInfo(m_stream.header);
}
emit ready();
}
diff --git a/src/plugins/Transports/http/httpstreamreader.h b/src/plugins/Transports/http/httpstreamreader.h
index 7bf05f926..1159dfe1f 100644
--- a/src/plugins/Transports/http/httpstreamreader.h
+++ b/src/plugins/Transports/http/httpstreamreader.h
@@ -35,6 +35,7 @@
class QTextCodec;
class QFileInfo;
class DownloadThread;
+class HTTPInputSource;
/*! @internal
* @author Ilya Kotov <forkotov02@hotmail.ru>
@@ -57,7 +58,7 @@ class HttpStreamReader : public QIODevice
{
Q_OBJECT
public:
- HttpStreamReader(const QString &url, QObject *parent = 0);
+ HttpStreamReader(const QString &url, HTTPInputSource *parent);
virtual ~HttpStreamReader();
@@ -105,6 +106,7 @@ private:
long m_buffer_size;
QTextCodec *m_codec;
DownloadThread *m_thread;
+ HTTPInputSource *m_parent;
#ifdef WITH_ENCA
EncaAnalyser m_analyser;
#endif
diff --git a/src/plugins/Transports/mms/mmsstreamreader.cpp b/src/plugins/Transports/mms/mmsstreamreader.cpp
index 008fbe5a5..3b3d90589 100644
--- a/src/plugins/Transports/mms/mmsstreamreader.cpp
+++ b/src/plugins/Transports/mms/mmsstreamreader.cpp
@@ -24,11 +24,12 @@
#include <qmmp/qmmp.h>
#include <qmmp/statehandler.h>
#include <qmmp/inputsource.h>
+#include "mmsinputsource.h"
#include "mmsstreamreader.h"
-MMSStreamReader::MMSStreamReader(const QString &url, QObject *parent)
- : QIODevice(parent)
+MMSStreamReader::MMSStreamReader(const QString &url, MMSInputSource *parent) : QIODevice(parent)
{
+ m_parent = parent;
m_url = url;
m_handle = 0;
m_aborted = false;
@@ -197,7 +198,7 @@ void MMSStreamReader::checkBuffer()
qDebug("MMSStreamReader: ready");
QMap<Qmmp::MetaData, QString> metaData;
metaData.insert(Qmmp::URL, m_url);
- (qobject_cast<InputSource *>(parent()))->addMetaData(metaData);
+ m_parent->addMetaData(metaData);
emit ready();
}
else if (!m_ready)
diff --git a/src/plugins/Transports/mms/mmsstreamreader.h b/src/plugins/Transports/mms/mmsstreamreader.h
index a3bb15e7a..6a95d65f9 100644
--- a/src/plugins/Transports/mms/mmsstreamreader.h
+++ b/src/plugins/Transports/mms/mmsstreamreader.h
@@ -31,6 +31,7 @@
class QFileInfo;
class DownloadThread;
+class MMSInputSource;
/*! @internal
* @author Ilya Kotov <forkotov02@hotmail.ru>
@@ -39,7 +40,7 @@ class MMSStreamReader : public QIODevice
{
Q_OBJECT
public:
- MMSStreamReader(const QString &url, QObject *parent = 0);
+ MMSStreamReader(const QString &url, MMSInputSource *parent);
~MMSStreamReader();
@@ -81,6 +82,7 @@ private:
qint64 m_buffer_at;
bool m_ready;
DownloadThread *m_thread;
+ MMSInputSource *m_parent;
};
class DownloadThread : public QThread