aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2021-10-04 18:37:01 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2021-10-04 18:37:01 +0000
commit722768c4f2b7d3bf239235718ee3fb6502a6afa1 (patch)
tree47b63454cf331e9d8134ad218b09c96ef5001713
parente6b16e7e620d5588e7c4453674f2458040531d75 (diff)
downloadqmmp-722768c4f2b7d3bf239235718ee3fb6502a6afa1.tar.gz
qmmp-722768c4f2b7d3bf239235718ee3fb6502a6afa1.tar.bz2
qmmp-722768c4f2b7d3bf239235718ee3fb6502a6afa1.zip
changing state to 'buffering' when transition between tracks
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@10334 90c681e8-e032-0410-971d-27865f9a5e38
-rw-r--r--src/qmmp/soundcore.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/qmmp/soundcore.cpp b/src/qmmp/soundcore.cpp
index e03debe5f..52e20dd72 100644
--- a/src/qmmp/soundcore.cpp
+++ b/src/qmmp/soundcore.cpp
@@ -83,7 +83,7 @@ bool SoundCore::play(const QString &source, bool queue, qint64 offset)
m_sources.removeAll(s);
s->deleteLater();
if(m_handler->state() == Qmmp::Stopped || m_handler->state() == Qmmp::Buffering)
- m_handler->dispatch(Qmmp::NormalError);
+ m_handler->dispatch(Qmmp::NormalError);
return false;
}
if(m_handler->state() == Qmmp::Stopped)
@@ -317,6 +317,8 @@ void SoundCore::startNextEngine()
{
if(m_sources.isEmpty())
m_nextState = NO_ENGINE;
+ else if(!m_sources.first()->isReady() && state() == Qmmp::Stopped)
+ m_handler->dispatch(Qmmp::Buffering);
break;
}
case ANOTHER_ENGINE:
@@ -370,7 +372,6 @@ bool SoundCore::event(QEvent *e)
emit nextTrackRequest();
else if(e->type() == EVENT_FINISHED)
emit finished();
- else
- return QObject::event(e);
- return true;
+
+ return QObject::event(e);;
}