From 56128b30dab1170bf493acfa4d69f12bc1b6b28a Mon Sep 17 00:00:00 2001 From: wilbertpol Date: Sun, 7 Jan 2024 14:33:47 +0000 Subject: [PATCH] imagedev/cassette.cpp: Fix stereo output for stereo input images. (#11897) --- src/devices/imagedev/cassette.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/devices/imagedev/cassette.cpp b/src/devices/imagedev/cassette.cpp index d07743f5b59..002eaaf912c 100644 --- a/src/devices/imagedev/cassette.cpp +++ b/src/devices/imagedev/cassette.cpp @@ -450,9 +450,13 @@ void cassette_image_device::sound_stream_update(sound_stream &stream, std::vecto if (m_samples.size() < outputs[0].samples()) m_samples.resize(outputs[0].samples()); + const cassette_image::Info info = cassette->get_info(); for (int ch = 0; ch < outputs.size(); ch++) { - cassette->get_samples(0, time_index, duration, outputs[0].samples(), 2, &m_samples[0], cassette_image::WAVEFORM_16BIT); + if (ch < info.channels) + cassette->get_samples(ch, time_index, duration, outputs[0].samples(), 2, &m_samples[0], cassette_image::WAVEFORM_16BIT); + else + cassette->get_samples(0, time_index, duration, outputs[0].samples(), 2, &m_samples[0], cassette_image::WAVEFORM_16BIT); for (int sampindex = 0; sampindex < outputs[ch].samples(); sampindex++) outputs[ch].put_int(sampindex, m_samples[sampindex], 32768); }