diff --git a/src/emu/sound.cpp b/src/emu/sound.cpp index 03bc588270c74..da20d617f29e8 100644 --- a/src/emu/sound.cpp +++ b/src/emu/sound.cpp @@ -268,9 +268,6 @@ void sound_stream::update() attotime time = m_device.machine().time(); s32 update_sampindex = s32(time.attoseconds() / m_attoseconds_per_sample); - if (update_sampindex <= m_output_sampindex) - return; - // if we're ahead of the last update, then adjust upwards attotime last_update = m_device.machine().sound().last_update(); if (time.seconds() > last_update.seconds()) @@ -286,6 +283,9 @@ void sound_stream::update() update_sampindex -= m_sample_rate; } + if (update_sampindex <= m_output_sampindex) + return; + // generate samples to get us up to the appropriate time g_profiler.start(PROFILER_SOUND); assert(m_output_sampindex - m_output_base_sampindex >= 0);