diff options
Diffstat (limited to 'src/devices/sound/c352.cpp')
-rw-r--r-- | src/devices/sound/c352.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/devices/sound/c352.cpp b/src/devices/sound/c352.cpp index f2b7dd27506..826f194437a 100644 --- a/src/devices/sound/c352.cpp +++ b/src/devices/sound/c352.cpp @@ -130,7 +130,7 @@ void c352_device::sound_stream_update(sound_stream &stream, std::vector<read_str auto &buffer_rr = outputs[3]; constexpr stream_buffer::sample_t sample_scale = 1.0 / 32768.0; - while (!buffer_fl.done()) + for (int i = 0; i < buffer_fl.samples(); i++) { int out[4] = { 0, 0, 0, 0 }; @@ -174,10 +174,10 @@ void c352_device::sound_stream_update(sound_stream &stream, std::vector<read_str out[3] += (((v.flags & C352_FLG_PHASEFR) ? -s : s) * v.curr_vol[3]) >> 8; } - buffer_fl.put(stream_buffer::sample_t(s16(out[0] >> 3)) * sample_scale); - buffer_fr.put(stream_buffer::sample_t(s16(out[1] >> 3)) * sample_scale); - buffer_rl.put(stream_buffer::sample_t(s16(out[2] >> 3)) * sample_scale); - buffer_rr.put(stream_buffer::sample_t(s16(out[3] >> 3)) * sample_scale); + buffer_fl.put(i, stream_buffer::sample_t(s16(out[0] >> 3)) * sample_scale); + buffer_fr.put(i, stream_buffer::sample_t(s16(out[1] >> 3)) * sample_scale); + buffer_rl.put(i, stream_buffer::sample_t(s16(out[2] >> 3)) * sample_scale); + buffer_rr.put(i, stream_buffer::sample_t(s16(out[3] >> 3)) * sample_scale); } } |