Use a loop to write the modulator effect output
Use loops to write reverb output
Define TlsDestructor for Windows static builds, too
Initialize listener matrix to identity
Don't fail to insert a map entry when the key exists and the limit is reached
Make ALSA XRUN when the number of available samples exceeds the buffer size
Reset the ALSA device if the number of available samples grows too large
Use an explicit 0 for the "no error" enums
Restore the old FPU mode if the effects fail to update with new device parameters
Use a struct to associate channel enums and their angles
Use a string to specify the resampler config option
Update some config option descriptions
Add an example program that streams audio using ffmpeg
Use a proper typedef for handling atomic pointer swaps
Use the device lock when removing the context from the device's list
Remove the warning when a context being released is globally current

Just about every implementation allows this, and there's no direct harm caused
by it. However, leave the warnings for when it's still current on specific
threads, as this can cause issues.
Check earlier for ffmpeg
Make LockDevice, LockContext, etc, inline
Append _SOFT to the AL_SOFT_buffer_samples enums
Remove the unnecessary AL_MULAW_SOFT, AL_ALAW_SOFT, and AL_IMA4_SOFT defines