audio: simplifed check for internal callback.

Easier to check when it's NULL instead of a list of known internal functions.
This commit is contained in:
Ryan C. Gordon 2016-08-09 00:44:05 -04:00
parent df4985e207
commit be8d7a46fb

View File

@ -1143,6 +1143,7 @@ open_audio_device(const char *devname, int iscapture,
const SDL_AudioSpec * desired, SDL_AudioSpec * obtained, const SDL_AudioSpec * desired, SDL_AudioSpec * obtained,
int allowed_changes, int min_id) int allowed_changes, int min_id)
{ {
const SDL_bool is_internal_thread = (desired->callback != NULL);
SDL_AudioDeviceID id = 0; SDL_AudioDeviceID id = 0;
SDL_AudioSpec _obtained; SDL_AudioSpec _obtained;
SDL_AudioDevice *device; SDL_AudioDevice *device;
@ -1379,11 +1380,7 @@ open_audio_device(const char *devname, int iscapture,
/* !!! FIXME: we don't force the audio thread stack size here because it calls into user code, but maybe we should? */ /* !!! FIXME: we don't force the audio thread stack size here because it calls into user code, but maybe we should? */
/* buffer queueing callback only needs a few bytes, so make the stack tiny. */ /* buffer queueing callback only needs a few bytes, so make the stack tiny. */
char name[64]; char name[64];
const SDL_bool is_internal_thread =
(device->spec.callback == SDL_BufferQueueDrainCallback) ||
(device->spec.callback == SDL_BufferQueueFillCallback);
const size_t stacksize = is_internal_thread ? 64 * 1024 : 0; const size_t stacksize = is_internal_thread ? 64 * 1024 : 0;
SDL_snprintf(name, sizeof (name), "SDLAudioDev%d", (int) device->id); SDL_snprintf(name, sizeof (name), "SDLAudioDev%d", (int) device->id);
device->thread = SDL_CreateThreadInternal(iscapture ? SDL_CaptureAudio : SDL_RunAudio, name, stacksize, device); device->thread = SDL_CreateThreadInternal(iscapture ? SDL_CaptureAudio : SDL_RunAudio, name, stacksize, device);