aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/Transports/http/httpinputsource.cpp9
-rw-r--r--src/plugins/Transports/http/httpinputsource.h3
-rw-r--r--src/plugins/Transports/mms/mmsinputsource.cpp8
-rw-r--r--src/plugins/Transports/mms/mmsinputsource.h3
-rw-r--r--src/plugins/Transports/mms/mmsstreamreader.cpp15
-rw-r--r--src/qmmp/fileinputsource.cpp8
-rw-r--r--src/qmmp/soundcore.cpp26
7 files changed, 24 insertions, 48 deletions
diff --git a/src/plugins/Transports/http/httpinputsource.cpp b/src/plugins/Transports/http/httpinputsource.cpp
index 64e18406c..c64a3c445 100644
--- a/src/plugins/Transports/http/httpinputsource.cpp
+++ b/src/plugins/Transports/http/httpinputsource.cpp
@@ -24,7 +24,7 @@
HTTPInputSource::HTTPInputSource(const QString &url, QObject *parent) : InputSource(url,parent)
{
m_reader = new HttpStreamReader(url, this);
- connect(m_reader, SIGNAL(ready()),SLOT(activate()));
+ connect(m_reader, SIGNAL(ready()),SIGNAL(ready()));
}
QIODevice *HTTPInputSource::ioDevice()
@@ -47,10 +47,3 @@ QString HTTPInputSource::contentType() const
{
return m_reader->contentType();
}
-
-void HTTPInputSource::activate()
-{
- m_reader->open(QIODevice::ReadOnly);
- emit ready();
-}
-
diff --git a/src/plugins/Transports/http/httpinputsource.h b/src/plugins/Transports/http/httpinputsource.h
index 3b41f3eba..a41c615f1 100644
--- a/src/plugins/Transports/http/httpinputsource.h
+++ b/src/plugins/Transports/http/httpinputsource.h
@@ -39,9 +39,6 @@ public:
bool isReady();
QString contentType() const;
-private slots:
- void activate();
-
private:
HttpStreamReader *m_reader;
diff --git a/src/plugins/Transports/mms/mmsinputsource.cpp b/src/plugins/Transports/mms/mmsinputsource.cpp
index b734555dc..d6b303800 100644
--- a/src/plugins/Transports/mms/mmsinputsource.cpp
+++ b/src/plugins/Transports/mms/mmsinputsource.cpp
@@ -24,7 +24,7 @@
MMSInputSource::MMSInputSource(const QString &url, QObject *parent) : InputSource(url,parent)
{
m_reader = new MMSStreamReader(url, this);
- connect(m_reader, SIGNAL(ready()),SLOT(activate()));
+ connect(m_reader, SIGNAL(ready()),SIGNAL(ready()));
}
QIODevice *MMSInputSource::ioDevice()
@@ -47,9 +47,3 @@ QString MMSInputSource::contentType() const
{
return "audio/x-ms-wma";
}
-
-void MMSInputSource::activate()
-{
- m_reader->open(QIODevice::ReadOnly);
- emit ready();
-}
diff --git a/src/plugins/Transports/mms/mmsinputsource.h b/src/plugins/Transports/mms/mmsinputsource.h
index 710bb708a..db32a6006 100644
--- a/src/plugins/Transports/mms/mmsinputsource.h
+++ b/src/plugins/Transports/mms/mmsinputsource.h
@@ -39,9 +39,6 @@ public:
bool isReady();
QString contentType() const;
-private slots:
- void activate();
-
private:
MMSStreamReader *m_reader;
diff --git a/src/plugins/Transports/mms/mmsstreamreader.cpp b/src/plugins/Transports/mms/mmsstreamreader.cpp
index f48209a51..712432546 100644
--- a/src/plugins/Transports/mms/mmsstreamreader.cpp
+++ b/src/plugins/Transports/mms/mmsstreamreader.cpp
@@ -28,7 +28,6 @@
MMSStreamReader::MMSStreamReader(const QString &url, QObject *parent)
: QIODevice(parent)
{
- qDebug("%s", Q_FUNC_INFO);
m_url = url;
m_handle = 0;
m_aborted = false;
@@ -53,32 +52,27 @@ MMSStreamReader::~MMSStreamReader()
bool MMSStreamReader::atEnd () const
{
- qDebug("%s", Q_FUNC_INFO);
return false;
}
qint64 MMSStreamReader::bytesToWrite () const
{
- qDebug("%s", Q_FUNC_INFO);
return -1;
}
void MMSStreamReader::close ()
{
- qDebug("%s", Q_FUNC_INFO);
abort();
QIODevice::close();
}
bool MMSStreamReader::isSequential () const
{
- qDebug("%s", Q_FUNC_INFO);
return true;
}
bool MMSStreamReader::open (OpenMode mode)
{
- qDebug("%s", Q_FUNC_INFO);
if (mode != QIODevice::ReadOnly)
return false;
QIODevice::open(mode);
@@ -87,33 +81,28 @@ bool MMSStreamReader::open (OpenMode mode)
bool MMSStreamReader::seek (qint64 pos)
{
- qDebug("%s", Q_FUNC_INFO);
Q_UNUSED(pos);
return false;
}
qint64 MMSStreamReader::writeData(const char*, qint64)
{
- qDebug("%s", Q_FUNC_INFO);
return -1;
}
qint64 MMSStreamReader::readData(char* data, qint64 maxlen)
{
- qDebug("%s", Q_FUNC_INFO);
m_mutex.lock();
qint64 len = qMin<qint64>(m_buffer_at, maxlen);
memmove(data, m_buffer, len);
m_buffer_at -= len;
memmove(m_buffer, m_buffer + len, m_buffer_at);
m_mutex.unlock();
- qDebug("read=%lld", len);
return len;
}
void MMSStreamReader::downloadFile()
{
- qDebug("%s", Q_FUNC_INFO);
m_thread->start();
}
@@ -124,7 +113,6 @@ QMutex *MMSStreamReader::mutex()
void MMSStreamReader::abort()
{
- qDebug("%s", Q_FUNC_INFO);
m_mutex.lock();
if (m_aborted)
{
@@ -142,13 +130,11 @@ void MMSStreamReader::abort()
qint64 MMSStreamReader::bytesAvailable() const
{
- qDebug("+++%lld",QIODevice::bytesAvailable() + m_buffer_at);
return QIODevice::bytesAvailable() + m_buffer_at;
}
void MMSStreamReader::run()
{
- qDebug("%s", Q_FUNC_INFO);
m_handle = mmsx_connect (0, 0, m_url.toLocal8Bit().constData(), 128 * 1024);
if(!m_handle)
{
@@ -192,7 +178,6 @@ void MMSStreamReader::run()
void MMSStreamReader::checkBuffer()
{
- qDebug("%s", Q_FUNC_INFO);
if (m_buffer_at > m_prebuf_size && !m_ready)
{
m_ready = true;
diff --git a/src/qmmp/fileinputsource.cpp b/src/qmmp/fileinputsource.cpp
index b3c156292..60e91f450 100644
--- a/src/qmmp/fileinputsource.cpp
+++ b/src/qmmp/fileinputsource.cpp
@@ -33,12 +33,8 @@ QIODevice *FileInputSource::ioDevice()
bool FileInputSource::initialize()
{
- bool ok = m_file->open(QIODevice::ReadOnly);
- if(ok)
- emit ready();
- else
- qWarning("FileInputSource: error: %s", qPrintable(m_file->errorString()));
- return ok;
+ emit ready();
+ return true;
}
bool FileInputSource::isReady()
diff --git a/src/qmmp/soundcore.cpp b/src/qmmp/soundcore.cpp
index 6822c3ed7..4caf7de3f 100644
--- a/src/qmmp/soundcore.cpp
+++ b/src/qmmp/soundcore.cpp
@@ -183,32 +183,32 @@ void SoundCore::updateVolume()
qint64 SoundCore::elapsed()
{
- return m_handler->elapsed();
+ return m_handler->elapsed();
}
int SoundCore::bitrate()
{
- return m_handler->bitrate();
+ return m_handler->bitrate();
}
quint32 SoundCore::frequency()
{
- return m_handler->frequency();
+ return m_handler->frequency();
}
int SoundCore::precision() //TODO rename
{
- return m_handler->precision();
+ return m_handler->precision();
}
int SoundCore::channels()
{
- return m_handler->channels();
+ return m_handler->channels();
}
Qmmp::State SoundCore::state() const
{
- return m_handler->state();
+ return m_handler->state();
}
QMap <Qmmp::MetaData, QString> SoundCore::metaData()
@@ -232,6 +232,20 @@ bool SoundCore::enqueue()
m_pendingSources.removeAll(s);
m_url = s->url();
+
+ if(s->ioDevice())
+ {
+ bool ok = s->ioDevice()->open(QIODevice::ReadOnly);
+ if(!ok)
+ {
+ qWarning("SoundCore: input error: %s", qPrintable(s->ioDevice()->errorString()));
+ m_url.clear();
+ s->deleteLater();
+ return false;
+ }
+ }
+
+
if(!m_engine)
{
if((m_engine = AbstractEngine::create(s, this)))