aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Effect/crossfade/crossfadeplugin.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/Effect/crossfade/crossfadeplugin.cpp')
-rw-r--r--src/plugins/Effect/crossfade/crossfadeplugin.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/plugins/Effect/crossfade/crossfadeplugin.cpp b/src/plugins/Effect/crossfade/crossfadeplugin.cpp
index a50df9b2b..df653999d 100644
--- a/src/plugins/Effect/crossfade/crossfadeplugin.cpp
+++ b/src/plugins/Effect/crossfade/crossfadeplugin.cpp
@@ -47,7 +47,8 @@ void CrossfadePlugin::applyEffect(Buffer *b)
switch (m_state)
{
case WAITING:
- if(m_core->totalTime() - m_handler->elapsed() < m_overlap + 2000)
+ if((m_core->totalTime() > m_overlap + 2000)
+ && (m_core->totalTime() - m_handler->elapsed() < m_overlap + 2000))
{
StateHandler::instance()->sendNextTrackRequest();
m_state = CHECKING;
@@ -60,7 +61,7 @@ void CrossfadePlugin::applyEffect(Buffer *b)
else
return;
case PREPARING:
- if(m_core->totalTime() - m_handler->elapsed() < m_overlap)
+ if(m_core->totalTime() && (m_core->totalTime() - m_handler->elapsed() < m_overlap))
{
if(m_buffer_at + b->nbytes > m_buffer_size)
{