diff options
Diffstat (limited to 'src/devices/sound/samples.cpp')
-rw-r--r-- | src/devices/sound/samples.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/devices/sound/samples.cpp b/src/devices/sound/samples.cpp index 5c8d129b799..bfe7c02bb6b 100644 --- a/src/devices/sound/samples.cpp +++ b/src/devices/sound/samples.cpp @@ -334,7 +334,7 @@ void samples_device::sound_stream_update(sound_stream &stream, std::vector<read_ double endpos = chan.source_len; const int16_t *sample = chan.source; - for (int sampindex = 0; sampindex < buffer.samples(); sampindex++) + while (!buffer.done()) { // do a linear interp on the sample double pos_floor = floor(chan.pos); @@ -343,7 +343,7 @@ void samples_device::sound_stream_update(sound_stream &stream, std::vector<read_ stream_buffer::sample_t sample1 = stream_buffer::sample_t(sample[ipos++]); stream_buffer::sample_t sample2 = stream_buffer::sample_t(sample[(ipos + 1) % chan.source_len]); - buffer.put(sampindex, sample_scale * ((1.0 - frac) * sample1 + frac * sample2)); + buffer.put(sample_scale * ((1.0 - frac) * sample1 + frac * sample2)); // advance chan.pos += step; @@ -357,7 +357,7 @@ void samples_device::sound_stream_update(sound_stream &stream, std::vector<read_ { chan.source = nullptr; chan.source_num = -1; - buffer.fill(0, sampindex); + buffer.fill(0); break; } } |