It turns out there's more to the SDL initializers then I thought, those were calls to internal wrappers!
Initializing the audio also involves registering a callback (in an Audio Source) to supply audio data from the emulator, as well as a buffer for that callback to read from.
Updating the audio (during the mainloop) emulates the sound system, & synchronously copies the data over where that callback can see it.
And there's a finalizer.
6/7!!