The physical layer is designed to ease feature updates and porting between platforms. It may be written from scratch or implemented on top of platform-specific middleware. Sometimes the approach varies with the target platform. Since the logical layer encapsulates the physical layer, application code remains oblivious.
The runtime system configuration discussed in this chapter deals with initialisation and shutdown, channel counts, endpoints, gamepads and controllers, callbacks for logging, memory management, DMA, timing and asynchronous loading, priorities and notifications, output capture, circular and static buffers, structures of arrays versus arrays of structures, stop and starvation detection. It considers Android AudioDeviceInfo, Apple AVAudioSession, DirectSound3D, Nintendo AX, Ogg Vorbis, OpenAL, Sony Scream, Windows WASAPI, Wii-U, XAudio and Xbox wrappers. Subsequent chapters explain how mixing, filtering and other audio processes fit within this framework.
Sega's Showdown arcade game cabinet incorporates Ambisonic sound technology developed in collaboration between the author and Blue Ripple Sound.
Mixing and Resampling Systems - next chapter abstract.
Split-Screen Multiplayer Audio - previous chapter abstract.
Return to the index of chapters.
Click here to get your own copy of Beep To Boom.
Copyright © 2019 Simon N Goodwin [';']