VirtualBox

Changeset 73810 in vbox


Ignore:
Timestamp:
Aug 22, 2018 8:28:34 AM (6 years ago)
Author:
vboxsync
Message:

Audio/Mixer: Documentation.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Audio/AudioMixer.cpp

    r73809 r73810  
    22/** @file
    33 * Audio mixing routines for multiplexing audio sources in device emulations.
     4 *
     5 * == Overview
    46 *
    57 * This mixer acts as a layer between the audio connector interface and
     
    2527 * so-called mixer streams, which then in turn have pointers to the actual
    2628 * 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.
    2754 */
    2855
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette