Patent ID: 7774520

Claim:
A computing system having an audio subsystem to play audio to a user, comprising: the audio subsystem coupled to the processor and the main memory to play audio to the user, the audio subsystem including: a software layer to remix audio data provided by the plurality of audio applications and to store the remixed audio data in a memory buffer in the main memory, remixing including remixing a first piece of audio data from the first application and a second piece of audio data from the second application to generate remixed audio data, wherein the size of at least one of the memory buffer and the controller buffer is dynamically determined based on factors including quality of service requirements from the plurality of audio applications, the determination of the buffer size including: determining sizes for the memory buffer and the controller buffer based at least in part on quality of service requirements of the first audio application and a nature of the first piece of audio data; receiving a second request for rendering the second piece of audio data by the second audio application while the first piece of audio data is being rendered to the user; and dynamically adjusting the sizes of the memory buffer and the controller buffer based at least in part on the quality of service requirements of the first audio application and quality of service requirements of the second audio application and on the nature of the first piece of audio data and a nature of the second piece of audio data.