qc_audio
Sound output of the graphical client. More...
Classes
Everything the graphical client hears: sound cues placed around the listener, UI sounds, the four ambience loops and the background music | |
Plays the mixer through the default audio output of a QcAudioPlatform (the system's, QcSystemAudio, unless a test passes another) | |
What QcAudioOutput needs from the system's audio: the output devices, the formats they take and a sink that pulls the mixer | |
An output device | |
A format an output device takes | |
Result of open() | |
Which output device the game should play through when the system's devices change (a headset switched on, a speaker unplugged): the system's default output, as long as there is one | |
What to do with the output | |
Audio sink and the device it pulls from, living on the audio thread of QcSystemAudio: Qt's sinks pull (and refill their buffers) on the thread that owns them, so a stalled GUI thread (a screen opening for the first time) would otherwise let the sound drop out | |
Read-only device an audio sink pulls from: every read renders fresh interleaved stereo audio through render (a view of frames frames, valid until the next call), converted to the sink's sample format | |
System's audio through Qt Multimedia: devices from QMediaDevices, and the sink on an audio thread of its own (QcAudioSinkHost), so a stalled GUI thread does not interrupt the sound |
Detailed Description
Uses qc_common and qc_clientcore.