mirror of
https://github.com/libretro/RetroArch
synced 2025-03-28 19:20:35 +00:00
When audio driver write callback function fails, don't
turn audio off completely - look if audio_driver_output_samples_conv_buf is non-NULL first before we attempt to write audio
This commit is contained in:
parent
943e14051c
commit
d45945cda2
13
retroarch.c
13
retroarch.c
@ -28208,7 +28208,7 @@ static void audio_driver_flush(
|
||||
|
||||
if (p_rarch->audio_driver_use_float)
|
||||
output_frames *= sizeof(float);
|
||||
else
|
||||
else if (p_rarch->audio_driver_output_samples_conv_buf)
|
||||
{
|
||||
convert_float_to_s16(p_rarch->audio_driver_output_samples_conv_buf,
|
||||
(const float*)output_data, output_frames * 2);
|
||||
@ -28216,11 +28216,16 @@ static void audio_driver_flush(
|
||||
output_data = p_rarch->audio_driver_output_samples_conv_buf;
|
||||
output_frames *= sizeof(int16_t);
|
||||
}
|
||||
else
|
||||
{
|
||||
output_data = NULL;
|
||||
output_frames = 0;
|
||||
}
|
||||
|
||||
if (p_rarch->current_audio->write(
|
||||
if (output_data && output_frames > 0)
|
||||
p_rarch->current_audio->write(
|
||||
p_rarch->audio_driver_context_audio_data,
|
||||
output_data, output_frames * 2) < 0)
|
||||
p_rarch->audio_driver_active = false;
|
||||
output_data, output_frames * 2);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user