SDL 2.0.6 released!

Can you guys rebuild SDL_mixer with this patch and see if that works?

Thanks for looking into this. Unfortunately, this didn’t fix the issue. I still get “Unsupported audio format” when using Mix_SetPanning().

Correction, Mix_SetPanning() returns fine, but still no sound.

Which game is this? I’ll grab a copy and test locally.

Which game is this? I’ll grab a copy and test locally.

It’s PowBall Renaissance. I’ve inboxed you a free Steam key.

Something odd is happening with the sound in 2.0.6: I sometimes get a blip of sound as if a sample works for a split second. And if I use my developer menu to build the game resources, the sound effects work for a while (but still no music). There is always the possibility I could be doing something wrong my end which didn’t break pre 2.0.6. I will dig deeper and see if I can recreate the problem in a minimal example.

1 Like

I’ve never been successful in rebuilding any SDL stuff from source. I get numerous errors from make.exe that I can’t solve. I have to rely on the binaries.

I’ll continue to test if I’m doing something wrong at my end as well. If it helps, my source is here.

When I call Mix_OpenAudio(), I set the audio format to AUDIO_S16LSB.
Then when I call Mix_QuerySpec() it seems the audio format has been changed to AUDIO_F32LSB.

That’s to be expected. I believe the new audio device (WASAPI ) is F32 only, This is why someone thought I was getting no sound in the pre-release, because the F32 and S32 mixers weren’t implemented - which has now done. I can’t try the new SDL_mixer because I don’t know how to build them from source (I get errors when I run make). But if I’m getting a glimpse of it working, there’s something else going on.

I’ve found what’s happening. Mix_PlayMusic() is silencing all sound channels. Mix_HaltMusic() will unmute the channels so they will play normally.

This didn’t happen in the 2.0.6 pre-release - only music (using MIX_INIT_MODPLUG) stopped working, but sounds still played.

I’ve spent hours trying to build SDL_mixer from source, but I can’t do it. I get make errors. I don’t really know how to use Linux. I got as far as linking the source code into Eclipse, but I got an error something like “Mixer not built with libmod support”. Every forum I have searched has people posting about the same problem but nobody’s posted a solution. Can we have a new SDL_mixer version?

I’ve put together this test code. Pressing 1 will play the sample no problem until pressing 2 to play the mod will silence everything. Pressing 3 to halt the mod will unmute the wav.

Music is also still silent (using MIX_INIT_MODPLUG). No errors are returned, just silence. This worked in 2.0.5.

1.mod (4.3 KB)
https://discourse.libsdl.org/uploads/default/original/2X/f/fac4c7e4a1e2625ffb4fe586ab054c8879cb2a49.wavmain.cpp (1.8 KB)

1 Like

In Win7 I’m unable to use the precompiled 64-bit 2.0.6 SDL2.dll from the dev library as a drop-in replacement for the 64-bit 2.0.5 dll in a game I’m working on. Upon running the game Win7 tells me my exe has stopped working and Windows is checking for a solution. If I’m remembering things correctly, binary compatibility is so good with SDL that’s supposed to work, isn’t it?

For comparison, I copied the whole install directory to Win8 and it worked with either dll. In a different 32-bit project I was able to replace a SDL2.dll from around 2013 with both the 2.0.5 and 2.0.6 precompiled dlls. And of course I haven’t had any problems on Linux yet.

Indeed it should. The only issue I can currently think of is if you’re using the opengl renderer and Windows drops back to the OpenGL 1.1 software renderer and SDL accesses a NULL pointer. This should be rare as the direct3d renderer is usually preferred on Windows.

I know the dev package doesn’t have the debugging infos in it, but a debugger should at least be able to tell us in which symbol it explodes. Can you check that?

@icculus, @slouken: I just noticed that SDL2-devel-2.0.6-VC.zip has the GCC DLLs in it. Is this intentional?

Thanks for verifying, ChliHug. It is indeed an OpenGL game. I don’t have a debugger installed yet since I compiled with Microsoft Build Tools. But I got it to run once tonight with horrible flickering triangles everywhere. My money says it’s a graphics driver bug. I’ll keep digging…

Hi! I’m getting “warning incorrect audio” with mp3 files (SDL 2.0.6 and latest old mixer 2.0.1). Moreother, even if I have .wav files loaded correctly - they wouldn’t play because of error. Did anybody solved old mixer issue or rebuild new dll from Mercurial to get it work?

1 Like

Nice I can’t wait to update it.

Does this fix it for you?

SDL_setenv("SDL_AUDIODRIVER", "directsound", true);

Yes it does, thank you! However, I’ve had to increase the sound buffer x3 to get it then stop crashing, and I get a popping sound after each sound (https://bugzilla.libsdl.org/show_bug.cgi?id=3851). I think I’ll just stick with 2.0.5 for now…

I get all kinds of noise in audio with 2.0.6 but I think you know about this already. No matter which driver I use. Just checking.

The latest in revision control (which is going to become 2.0.7 with a quickness) should solve the audio problems. Looking at the SDL_mixer issues now.

1 Like

Okay, @AntTheAlchemist, I downloaded your game, swapped in the latest SDL and SDL_mixer and saw it fail to play any sound.

I applied this fix to SDL_mixer, and it all started working again, so this will be in the next builds we ship:

The latest SDL works without changes, but you’ll need this SDL_mixer fix if you upgrade to SDL 2.0.6 or later. We’ll be doing a formal SDL_mixer release soon with this fix.

So you should be good to go now.

@bradharding, this should fix you up, too, I think.

3 Likes

:+1: for KMS/DRM https://www.youtube.com/watch?v=RH4dOT97ndk

Just now noticing.