Interleaving SDL audio feeding with Work ... HOW?

Interleaving SDL audio feeding with other CPU taxation … HOW ?

I’ve been having a great deal of difficult trying to get my head around how SDL Audio is supposed to work.

I’m used to dealing with systems where I know whether I’ve been feeding the sound system enough bytes. And I do the feeding. The SDL callback convension has me a bit confused.

For example … when do I use SDL_LockAudio ? And what really happens when I do use it ? I’m starting to wonder if using is is how we allow some unidentified hardware buffer to run out (sdl callback does not replentish during Audio Lock ? ).

I still have my basic question of how to calulate how much audio has been played. Forgive me for rehashing something that was fairly well played a while back. What did we learn ? Does audio hit the speakers fairly soon after a callback acquires it, provided that the callback’s samples (size) is small enough ? People were recommending very small callback sizes such as 8K or smaller.

Perhaps the fellow synching audio to twitchy games managed to get it all straight. I did not. Please advise.

I’ve been trying to find ways to query the desktop resolution of various
OS’s so that an SDL app can be launched in an optimally-sized window.
I’m somewhat surprised to see that SDL doesn’t offer any way to do
this, and that apparently noone has said anything about it within the
past 11,000 messages or so. Would anyone else find this to be a useful

Anyway, wandering off the topic of SDL, does anyone know how to do this
in OSX from a standard C/C++ interface? I’ve found objective-C and Java
functions. I know how to do it in Windows, and I haven’t looked for how
to do it in X11 environments yet. Thanks.



Hash: SHA1

That be very useful. Both resolution and colordepth can be used to dertemine
how your program should behave under such situations. I know that Allegro has
a feature which allows you to identfy the current colordepth though im not
certain about screen resolution.

Juan D. Espinoza
Version: GnuPG v1.2.1 (GNU/Linux)