audio: Whoops, this stream format change is only for capture devices.

This commit is contained in:
Ryan C. Gordon
2023-10-11 15:11:20 -04:00
parent 10fab3a39e
commit 1c3a0ade74

View File

@@ -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_assert(!logdev->bound_streams || (logdev->bound_streams->prev_binding == NULL));
SDL_AudioDevice *device = logdev->physical_device; SDL_AudioDevice *device = logdev->physical_device;
const SDL_bool iscapture = device->iscapture;
int retval = 0; 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. // 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; 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); SDL_UnlockMutex(stream->lock);
} }