diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2012-03-14 16:36:17 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2012-03-14 16:36:17 +0000 |
| commit | 0a80869632c58686c4d4cb6202794c698cc02038 (patch) | |
| tree | acfc0c23be84265d070538bc80d44bae123b8b7b | |
| parent | 5648a19fd903611e470e75442118bf0ff1ab6f04 (diff) | |
| download | qmmp-0a80869632c58686c4d4cb6202794c698cc02038.tar.gz qmmp-0a80869632c58686c4d4cb6202794c698cc02038.tar.bz2 qmmp-0a80869632c58686c4d4cb6202794c698cc02038.zip | |
fixed problem with invalid tracks (Fixes issue 528)
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@2685 90c681e8-e032-0410-971d-27865f9a5e38
| -rw-r--r-- | src/qmmpui/mediaplayer.cpp | 15 | ||||
| -rw-r--r-- | src/qmmpui/mediaplayer.h | 2 |
2 files changed, 9 insertions, 8 deletions
diff --git a/src/qmmpui/mediaplayer.cpp b/src/qmmpui/mediaplayer.cpp index 23fc01dc7..aa09ebee3 100644 --- a/src/qmmpui/mediaplayer.cpp +++ b/src/qmmpui/mediaplayer.cpp @@ -26,8 +26,6 @@ #include "qmmpuisettings.h" #include "mediaplayer.h" -#define MAX_ERRORS 4 - MediaPlayer *MediaPlayer::m_instance = 0; MediaPlayer::MediaPlayer(QObject *parent) @@ -51,7 +49,7 @@ MediaPlayer::MediaPlayer(QObject *parent) connect(m_core, SIGNAL(nextTrackRequest()), SLOT(updateNextUrl())); connect(m_core, SIGNAL(finished()), SLOT(playNext())); connect(m_core, SIGNAL(stateChanged(Qmmp::State)), SLOT(processState(Qmmp::State))); - connect(m_core, SIGNAL(metaDataChanged()),SLOT(showMetaData())); + connect(m_core, SIGNAL(metaDataChanged()),SLOT(updateMetaData())); } MediaPlayer::~MediaPlayer() @@ -109,6 +107,7 @@ void MediaPlayer::stop() { m_core->stop(); m_nextUrl.clear(); + m_skips = 0; } void MediaPlayer::next() @@ -200,15 +199,17 @@ void MediaPlayer::processState(Qmmp::State state) switch ((int) state) { case Qmmp::NormalError: - stop(); - if (m_skips <= MAX_ERRORS) + m_core->stop(); + m_nextUrl.clear(); + if (m_skips <= m_pl_manager->currentPlayList()->count()) { m_skips++; playNext(); } break; case Qmmp::FatalError: - stop(); + m_core->stop(); + m_nextUrl.clear(); break; case Qmmp::Playing: m_skips = 0; @@ -217,7 +218,7 @@ void MediaPlayer::processState(Qmmp::State state) } } -void MediaPlayer::showMetaData() +void MediaPlayer::updateMetaData() { qDebug("===== metadata ======"); qDebug("ARTIST = %s", qPrintable(m_core->metaData(Qmmp::ARTIST))); diff --git a/src/qmmpui/mediaplayer.h b/src/qmmpui/mediaplayer.h index 07a314a2b..b01d2e7e1 100644 --- a/src/qmmpui/mediaplayer.h +++ b/src/qmmpui/mediaplayer.h @@ -107,7 +107,7 @@ private slots: void playNext(); void updateNextUrl(); void processState(Qmmp::State state); - void showMetaData(); + void updateMetaData(); private: QmmpUiSettings *m_settings; |
