diff --git a/ChangeLog b/ChangeLog index 50c8946fe..a790ee716 100644 --- a/ChangeLog +++ b/ChangeLog @@ -73,6 +73,7 @@ 51. If run under Unity or OSX, then place close buttons on left. 52. Fix auto-marking of played downloaded podcasts when connected via a local socket. +53. Fix playback of local files by inbuilt HTTP server. 1.4.2 ----- diff --git a/http/httpserver.cpp b/http/httpserver.cpp index e3f1dff20..caa459257 100644 --- a/http/httpserver.cpp +++ b/http/httpserver.cpp @@ -67,7 +67,6 @@ HttpServer::HttpServer() , closeTimer(0) { force=Settings::self()->alwaysUseHttp(); - connect(MPDConnection::self(), SIGNAL(socketAddress(QString)), this, SLOT(mpdAddress(QString))); connect(MPDConnection::self(), SIGNAL(cantataStreams(QList,bool)), this, SLOT(cantataStreams(QList,bool))); connect(MPDConnection::self(), SIGNAL(cantataStreams(QStringList)), this, SLOT(cantataStreams(QStringList))); connect(MPDConnection::self(), SIGNAL(removedIds(QSet)), this, SLOT(removedIds(QSet))); @@ -92,7 +91,7 @@ bool HttpServer::start() thread=new Thread("HttpServer"); } socket=new HttpSocket(Settings::self()->httpInterface(), prevPort); - socket->mpdAddress(mpdAddr); + socket->mpdAddress(MPDConnection::self()->ipAddress()); connect(this, SIGNAL(terminateSocket()), socket, SLOT(terminate()), Qt::QueuedConnection); if (socket->serverPort()!=prevPort) { Settings::self()->saveHttpAllocatedPort(socket->serverPort()); @@ -315,11 +314,6 @@ void HttpServer::startCloseTimer() closeTimer->start(1000); } -void HttpServer::mpdAddress(const QString &a) -{ - mpdAddr=a; -} - void HttpServer::cantataStreams(const QStringList &files) { DBUG << files; diff --git a/http/httpserver.h b/http/httpserver.h index 8e487cf3e..c4815aa9c 100644 --- a/http/httpserver.h +++ b/http/httpserver.h @@ -80,7 +80,6 @@ private: private Q_SLOTS: void stop(); void startCloseTimer(); - void mpdAddress(const QString &a); void cantataStreams(const QStringList &files); void cantataStreams(const QList &songs, bool isUpdate); void removedIds(const QSet &ids); @@ -93,7 +92,6 @@ private: Thread *thread; HttpSocket *socket; - QString mpdAddr; QSet streamIds; // Currently playing MPD stream IDs QTimer *closeTimer; #endif diff --git a/mpd/mpdconnection.h b/mpd/mpdconnection.h index 6659a5a91..219c99cde 100644 --- a/mpd/mpdconnection.h +++ b/mpd/mpdconnection.h @@ -224,6 +224,7 @@ public: bool isMuted() { return -1!=unmuteVol; } bool isMopdidy() const { return mopidy; } void setVolumeFadeDuration(int f) { fadeDuration=f; } + QString ipAddress() const { return details.isLocal() ? QString() : sock.address(); } public Q_SLOTS: void reconnect();