diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/qmmp/statehandler.cpp | 3 | ||||
| -rw-r--r-- | src/qmmpui/mediaplayer.cpp | 14 |
2 files changed, 11 insertions, 6 deletions
diff --git a/src/qmmp/statehandler.cpp b/src/qmmp/statehandler.cpp index 33970fea3..ac9511a14 100644 --- a/src/qmmp/statehandler.cpp +++ b/src/qmmp/statehandler.cpp @@ -133,9 +133,10 @@ void StateHandler::dispatch(Qmmp::State state) m_frequency = 0; m_precision = 0; m_channels = 0; - m_sendAboutToFinish = true; m_metaData.clear(); } + if(state == Qmmp::Playing) + m_sendAboutToFinish = true; if (m_state != state) { QStringList states; diff --git a/src/qmmpui/mediaplayer.cpp b/src/qmmpui/mediaplayer.cpp index 9b4d9549d..594ecdd34 100644 --- a/src/qmmpui/mediaplayer.cpp +++ b/src/qmmpui/mediaplayer.cpp @@ -200,13 +200,17 @@ void MediaPlayer::playNext() void MediaPlayer::updateNextUrl() { + m_nextUrl.clear(); if(m_pl_manager->currentPlayList()->nextItem() && !isRepeatable()) { qDebug("MediaPlayer: sending next url"); - m_core->play(m_pl_manager->currentPlayList()->nextItem()->url(), true); - m_nextUrl = m_pl_manager->currentPlayList()->nextItem()->url(); - qDebug("MediaPlayer: sending next url - done"); + bool ok = m_core->play(m_pl_manager->currentPlayList()->nextItem()->url(), true); + if(ok) + { + m_nextUrl = m_pl_manager->currentPlayList()->nextItem()->url(); + qDebug("MediaPlayer: sending next url - done"); + } + else + qDebug("MediaPlayer: sending next url - failed"); } - else - m_nextUrl.clear(); } |
