imagedev/cassette.cpp: Fix stereo output for stereo input images. (#11897)

This commit is contained in:
wilbertpol 2024-01-07 14:33:47 +00:00 committed by GitHub
parent 729381ec7c
commit 56128b30da
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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);
}