aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Transports/http/downloader.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2010-02-01 22:24:03 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2010-02-01 22:24:03 +0000
commite394c172ceda1949ae6ba8325c98abfb433b0a89 (patch)
treed6ab7fd4b456b3377179d5052b281efa7c619c4c /src/plugins/Transports/http/downloader.cpp
parent10daaf2b2a0f3d505982095e2ce92bcf23a99ea0 (diff)
downloadqmmp-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.cpp13
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)
{