Lines Matching refs:audio
50 SDL_AudioDevice *audio = (SDL_AudioDevice *) device; in FillSound() local
51 SDL_AudioCallback callback = audio->callbackspec.callback; in FillSound()
54 if (!SDL_AtomicGet(&audio->enabled) || SDL_AtomicGet(&audio->paused)) { in FillSound()
55 if (audio->stream) { in FillSound()
56 SDL_AudioStreamClear(audio->stream); in FillSound()
58 SDL_memset(stream, audio->spec.silence, len); in FillSound()
62 SDL_assert(audio->spec.size == len); in FillSound()
64 if (audio->stream == NULL) { /* no conversion necessary. */ in FillSound()
65 SDL_LockMutex(audio->mixer_lock); in FillSound()
66 callback(audio->callbackspec.userdata, (Uint8 *) stream, len); in FillSound()
67 SDL_UnlockMutex(audio->mixer_lock); in FillSound()
69 const int stream_len = audio->callbackspec.size; in FillSound()
71 while (SDL_AudioStreamAvailable(audio->stream) < ilen) { in FillSound()
72 callback(audio->callbackspec.userdata, audio->work_buffer, stream_len); in FillSound()
73 if (SDL_AudioStreamPut(audio->stream, audio->work_buffer, stream_len) == -1) { in FillSound()
74 SDL_AudioStreamClear(audio->stream); in FillSound()
75 SDL_AtomicSet(&audio->enabled, 0); in FillSound()
80 const int got = SDL_AudioStreamGet(audio->stream, stream, ilen); in FillSound()
83 SDL_memset(stream, audio->spec.silence, len); in FillSound()