SDL 2.0.4, MacOsX and 32 Bits: sound problem solved. It's not SDL but Hatari code.

Jerome Vernet <[email protected]>
Newsgroups gmane.comp.lib.sdl
Message-ID <[email protected]>
Hello,

Found the problem. It's not (really) SDL problem but in Hatari.

When using SDL_OpenAudio, you NEED to pass as second parameter a
SDL_AudioSpec, NOT null. SDL return in this SDL_AudioSpec what it get,
NO MORE in the first parameter.
In 32 Bit, on MacOsX, desiredAudioSpec.size is not initialized and take
whatever value.

So the code have to be:

SDL_AudioSpec desiredAudioSpec,obtained;
...
if (SDL_OpenAudio(&desiredAudioSpec, &obtained))    /* Open audio device */
    {
        fprintf(stderr, "Can't use audio: %s\n", SDL_GetError());
        bSoundWorking = false;
        ConfigureParams.Sound.bEnableSound = false;
        SDL_QuitSubSystem(SDL_INIT_AUDIO);
        return;
    }

    SoundBufferSize = obtained.size;    /* May be different than the
requested one! */
    SoundBufferSize /= 4;                /* bytes -> samples (16 bit
signed stereo -> 4 bytes per sample) */
    if (SoundBufferSize > MIXBUFFER_SIZE/2)
    {
        fprintf(stderr, "Warning: Soundbuffer size is too big!\n");
    }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.