mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-05-23 04:59:10 +00:00
examples: Use SDL_GetAudioStreamQueued, not SDL_GetAudioStreamAvailable.
The "available" side is at the mercy of whatever format the hardware wants, but we control what we queued. Fixes #12403.
This commit is contained in:
parent
b3336c5a73
commit
f7cadcba84
3 changed files with 3 additions and 3 deletions
|
@ -69,7 +69,7 @@ SDL_AppResult SDL_AppIterate(void *appstate)
|
||||||
A sine wave is unchanging audio--easy to stream--but for video games, you'll want
|
A sine wave is unchanging audio--easy to stream--but for video games, you'll want
|
||||||
to generate significantly _less_ audio ahead of time! */
|
to generate significantly _less_ audio ahead of time! */
|
||||||
const int minimum_audio = (8000 * sizeof (float)) / 2; /* 8000 float samples per second. Half of that. */
|
const int minimum_audio = (8000 * sizeof (float)) / 2; /* 8000 float samples per second. Half of that. */
|
||||||
if (SDL_GetAudioStreamAvailable(stream) < minimum_audio) {
|
if (SDL_GetAudioStreamQueued(stream) < minimum_audio) {
|
||||||
static float samples[512]; /* this will feed 512 samples each frame until we get to our maximum. */
|
static float samples[512]; /* this will feed 512 samples each frame until we get to our maximum. */
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
|
|
@ -82,7 +82,7 @@ SDL_AppResult SDL_AppIterate(void *appstate)
|
||||||
We're being lazy here, but if there's less than the entire wav file left to play,
|
We're being lazy here, but if there's less than the entire wav file left to play,
|
||||||
just shove a whole copy of it into the queue, so we always have _tons_ of
|
just shove a whole copy of it into the queue, so we always have _tons_ of
|
||||||
data queued for playback. */
|
data queued for playback. */
|
||||||
if (SDL_GetAudioStreamAvailable(stream) < (int)wav_data_len) {
|
if (SDL_GetAudioStreamQueued(stream) < (int)wav_data_len) {
|
||||||
/* feed more data to the stream. It will queue at the end, and trickle out as the hardware needs more data. */
|
/* feed more data to the stream. It will queue at the end, and trickle out as the hardware needs more data. */
|
||||||
SDL_PutAudioStreamData(stream, wav_data, wav_data_len);
|
SDL_PutAudioStreamData(stream, wav_data, wav_data_len);
|
||||||
}
|
}
|
||||||
|
|
|
@ -104,7 +104,7 @@ SDL_AppResult SDL_AppIterate(void *appstate)
|
||||||
/* If less than a full copy of the audio is queued for playback, put another copy in there.
|
/* If less than a full copy of the audio is queued for playback, put another copy in there.
|
||||||
This is overkill, but easy when lots of RAM is cheap. One could be more careful and
|
This is overkill, but easy when lots of RAM is cheap. One could be more careful and
|
||||||
queue less at a time, as long as the stream doesn't run dry. */
|
queue less at a time, as long as the stream doesn't run dry. */
|
||||||
if (SDL_GetAudioStreamAvailable(sounds[i].stream) < ((int) sounds[i].wav_data_len)) {
|
if (SDL_GetAudioStreamQueued(sounds[i].stream) < ((int) sounds[i].wav_data_len)) {
|
||||||
SDL_PutAudioStreamData(sounds[i].stream, sounds[i].wav_data, (int) sounds[i].wav_data_len);
|
SDL_PutAudioStreamData(sounds[i].stream, sounds[i].wav_data, (int) sounds[i].wav_data_len);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue