Conflicts
*********

When using SDL_mixer functions you need to avoid the following functions from SDL:

SDL_OpenAudio
     Use Mix_OpenAudio instead.

SDL_CloseAudio
     Use Mix_CloseAudio instead.

SDL_PauseAudio
     MIXER-X:

     Use Mix_PauseAudio(0) instead, to pause.

     Use Mix_PauseAudio(1) instead, to pause.

     SDL_mixer:

     Use Mix_Pause(-1) and Mix_PauseMusic instead, to pause.

     Use Mix_Resume(-1) and Mix_ResumeMusic instead, to unpause.

SDL_LockAudio
     Use Mix_LockAudio instead.

SDL_UnlockAudio
     Use Mix_UnlockAudio instead.

You may call the following functions freely:

SDL_AudioDriverName
     This will still work as usual.

SDL_GetAudioStatus
     This will still work, though it will likely return SDL_AUDIO_PLAYING even though SDL_mixer is just playing silence.

It is also a BAD idea to call SDL_mixer and SDL audio functions from a callback. Callbacks include Effects functions and other SDL_mixer audio hooks.