diff --git a/src/emu/sound.cpp b/src/emu/sound.cpp index be16a3476e3..03bc588270c 100644 --- a/src/emu/sound.cpp +++ b/src/emu/sound.cpp @@ -268,6 +268,9 @@ 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())