From 1c3a0ade742af1f3626b43b9c865dbb41c2aa4a3 Mon Sep 17 00:00:00 2001
From: "Ryan C. Gordon" <[EMAIL REDACTED]>
Date: Wed, 11 Oct 2023 15:11:20 -0400
Subject: [PATCH] audio: Whoops, this stream format change is only for capture
devices.
---
src/audio/SDL_audio.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/audio/SDL_audio.c b/src/audio/SDL_audio.c
index b6ac6517cc97..d974ea4cefd1 100644
--- a/src/audio/SDL_audio.c
+++ b/src/audio/SDL_audio.c
@@ -1611,6 +1611,7 @@ int SDL_BindAudioStreams(SDL_AudioDeviceID devid, SDL_AudioStream **streams, int
SDL_assert(!logdev->bound_streams || (logdev->bound_streams->prev_binding == NULL));
SDL_AudioDevice *device = logdev->physical_device;
+ const SDL_bool iscapture = device->iscapture;
int retval = 0;
// lock all the streams upfront, so we can verify they aren't bound elsewhere and add them all in one block, as this is intended to add everything or nothing.
@@ -1648,7 +1649,9 @@ int SDL_BindAudioStreams(SDL_AudioDeviceID devid, SDL_AudioStream **streams, int
}
logdev->bound_streams = stream;
- stream->src_spec.format = logdev->postmix ? SDL_AUDIO_F32 : device->spec.format;
+ if (iscapture) {
+ stream->src_spec.format = logdev->postmix ? SDL_AUDIO_F32 : device->spec.format;
+ }
SDL_UnlockMutex(stream->lock);
}