Mix buffers and command queues for audio blocks
AssigneeMicrosoft Technology Licensing, LLC
InventorsJohn A. Tardif, Brian Lloyd Schmidt, Sunil Kumar Vemula, Robert N. Heitkamp
Life of this patent
Estimating the term…
Abstract
The subject disclosure is directed towards a technology that may be used in an audio processing environment. Nodes of an audio flow graph are associated with virtual mix buffers. As the flow graph is processed, commands and virtual mix buffer data are provided to audio fixed-function processing blocks. Each virtual mix buffer is mapped to a physical mix buffer, and the associated command is executed with respect to the physical mix buffer. One physical mix buffer mix buffer may be used as an input data buffer for the audio fixed-function processing block, and another physical mix buffer as an output data buffer, for example.
Claims20
A method for executing a command relating to input audio data, the method comprising:
- selecting a command from a command queue as a selected command, the command queue comprising a plurality of commands;
- determining whether input audio data associated with the selected command is ready for processing by an audio fixed-function processing block and whether an output buffer associated with the selected command is ready to receive processed data;
- upon the input audio data not being ready or the output buffer not being ready, selecting another command from the queue as the selected command and returning to perform said determining;
- and
- upon the input audio data being ready and the output buffer being ready, executing the selected command, including processing the input audio data at the audio fixed-function processing block into output data for the output buffer.
In a computing environment, a system comprising:
- a memory storing a command queue, the command queue comprising a plurality of commands;
- an audio processing subsystem comprising one or more audio fixed function processing blocks;
- and
- one or more processors programmed to execute operations comprising:
- selecting a command from the command queue as a selected command;
- determining whether input audio data associated with the selected command is ready for processing by a first audio fixed function processing block of the one or more audio fixed function processing blocks and whether an output buffer associated with the selected command is ready to receive processed data;
- upon the input audio data not being ready or the output buffer not being ready, selecting another command from the command queue as the selected command and returning to perform said determining;
- and
- upon the input audio data being ready and the output buffer not being ready, executing the selected command, including processing the input audio data at the first audio fixed function processing block into output data for the output buffer.
One or more computer-readable media having computer-executable instructions which, when executed, perform operations comprising:
- selecting a command from a command queue as a selected command, the command queue comprising a plurality of commands;
- determining whether input audio data associated with the selected command is ready for processing by an audio fixed-function processing block and whether an output buffer associated with the selected command is ready to receive processed data, the output buffer representing a mix buffer;
- upon the input audio data not being ready or the output buffer not being ready, selecting another command from the queue as the selected command and returning to perform said determining;
- and
- upon the input audio data not being ready and the output buffer not being ready, executing the selected command, including processing the input audio data at the audio fixed-function processing block into output data for the output buffer.
Dependencies are inferred from the claim text.