Changeset 73810 in vbox
- Timestamp:
- Aug 22, 2018 8:28:34 AM (6 years ago)
- File:
-
- 1 edited
-
trunk/src/VBox/Devices/Audio/AudioMixer.cpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Audio/AudioMixer.cpp
r73809 r73810 2 2 /** @file 3 3 * Audio mixing routines for multiplexing audio sources in device emulations. 4 * 5 * == Overview 4 6 * 5 7 * This mixer acts as a layer between the audio connector interface and … … 25 27 * so-called mixer streams, which then in turn have pointers to the actual 26 28 * PDM audio input/output streams. 29 * 30 * == Playback 31 * 32 * For output sinks there can be one or more mixing stream attached. 33 * As the host sets the overall pace for the device emulation (virtual time 34 * in the guest OS vs. real time on the host OS), an output mixing sink 35 * needs to make sure that all connected output streams are able to accept 36 * all the same amount of data at a time. 37 * 38 * This is called synchronous multiplexing. 39 * 40 * A mixing sink employs an own audio mixing buffer, which in turn can convert 41 * the audio (output) data supplied from the device emulation into the sink's 42 * audio format. As all connected mixing streams in theory could have the same 43 * audio format as the mixing sink (parent), this can save processing time when 44 * it comes to serving a lot of mixing streams at once. That way only one 45 * conversion must be done, instead of each stream having to iterate over the 46 * data. 47 * 48 * == Recording 49 * 50 * For input sinks only one mixing stream at a time can be the recording 51 * source currently. A recording source is optional, e.g. it is possible to 52 * have no current recording source set. Switching to a different recording 53 * source at runtime is possible. 27 54 */ 28 55
Note:
See TracChangeset
for help on using the changeset viewer.

