diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2010-02-01 22:24:03 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2010-02-01 22:24:03 +0000 |
| commit | e394c172ceda1949ae6ba8325c98abfb433b0a89 (patch) | |
| tree | d6ab7fd4b456b3377179d5052b281efa7c619c4c /src/plugins/Transports/http/downloader.cpp | |
| parent | 10daaf2b2a0f3d505982095e2ce92bcf23a99ea0 (diff) | |
| download | qmmp-e394c172ceda1949ae6ba8325c98abfb433b0a89.tar.gz qmmp-e394c172ceda1949ae6ba8325c98abfb433b0a89.tar.bz2 qmmp-e394c172ceda1949ae6ba8325c98abfb433b0a89.zip | |
http plugin: added settings dialog
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1539 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Transports/http/downloader.cpp')
| -rw-r--r-- | src/plugins/Transports/http/downloader.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/plugins/Transports/http/downloader.cpp b/src/plugins/Transports/http/downloader.cpp index 37e9c3061..e2bfbe252 100644 --- a/src/plugins/Transports/http/downloader.cpp +++ b/src/plugins/Transports/http/downloader.cpp @@ -22,6 +22,8 @@ #include <QStringList> #include <QDir> #include <QMap> +#include <QSettings> +#include <QTextCodec> #include <stdint.h> #include <stdlib.h> #include <qmmp/qmmpsettings.h> @@ -116,6 +118,11 @@ Downloader::Downloader(QObject *parent, const QString &url) m_handle = 0; m_metacount = 0; m_meta_sent = FALSE; + QSettings settings(Qmmp::configFile(), QSettings::IniFormat); + m_codec = QTextCodec::codecForName(settings.value("HTTP/icy_encoding","windows-1252").toByteArray ()); + m_buffer_size = settings.value("HTTP/buffer_size",128).toInt() * 1000; + if (!m_codec) + m_codec = QTextCodec::codecForName ("UTF-8"); } @@ -294,7 +301,7 @@ const QString &Downloader::title() const void Downloader::checkBuffer() { - if (m_stream.buf_fill > BUFFER_SIZE && !m_ready) + if (m_stream.buf_fill > m_buffer_size && !m_ready) { m_ready = TRUE; qDebug("Downloader: ready"); @@ -310,7 +317,7 @@ void Downloader::checkBuffer() } else if (!m_ready) { - StateHandler::instance()->dispatchBuffer(100 * m_stream.buf_fill / BUFFER_SIZE); + StateHandler::instance()->dispatchBuffer(100 * m_stream.buf_fill / m_buffer_size); qApp->processEvents(); } } @@ -346,7 +353,7 @@ void Downloader::readICYMetaData() void Downloader::parseICYMetaData(char *data) { - QString str(data); + QString str = m_codec->toUnicode(data).trimmed(); QStringList list(str.split(";", QString::SkipEmptyParts)); foreach(QString line, list) { |
