# US 10,310,800 B2 · Selective routing of audio between applications

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,310,800 B2
- Document ID: US10310800B2
- Status: Granted
- Kind: B2
- Application number: 15/427,954
- Filed: 2017-02-08
- Published: 2018-08-09
- Granted: 2019-06-04
- Earliest claimed: 2017-02-08
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Kishore A. Kotteri; Firoz Dalal
- Web page: https://patentgrep.com/patent/US10310800B2

## CPC

- G06F 3/162: {Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs}
- G06F 3/165: {Management of the audio stream, e.g. setting of volume, audio stream path}
- G06F 21/10: Protecting distributed programs or content, e.g. vending or licensing of copyrighted material (protection in video systems or pay television H04N7/16) {; Digital rights management [DRM]}
- H04L 63/102: {Entity profiles}
- H04L 65/765: {intermediate}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

In a computer system that provides for routing of audio content of a target audio application to a requestor audio application, an audio playback/routing manager manages audio routing between audio applications. For example, a requestor audio application may specify a target audio application from which audio content is to be received. An audio playback/routing manager can determine the audio content of the target audio application and provide the requested audio content to the requestor audio application. In this way, rather than receiving all of the audio content being rendered to an audio endpoint, which may include audio content of multiple applications, the requestor audio application can receive only audio content of one or more particular target audio applications.

## Claims

### Claim 1

A computer system comprising one or more processing units and memory, wherein the computer system implements an audio management architecture, the architecture comprising:
one or more interfaces configured to:
receive a request to register a target audio application; and
receive a request from a requestor audio application for audio content of the target audio application; and
an audio playback/routing manager configured to, in response to the request from the requestor audio application for audio content of the target audio application:
from a plurality of tap points associated with an audio system of the computer system and in communication with a master tap point, determine one or more tap points uniquely associated with the target audio application, the plurality of tap points associated with the audio system further comprising a tap point for the requestor audio application that is in communication with the master tap point, the master tap point being in communication with one or more audio endpoints; and
cause output of the one or more tap points uniquely associated with the target audio application to be sent to the requestor audio application.

### Claim 2 (depends on 1)

The computer system of claim 1, the audio playback/routing manager being further configured to, in response to the request from the requestor audio application for audio content of the target audio application:
determine one or more access restrictions associated with the target audio application; and
determine if the one or more access restrictions permit the requestor audio application to receive the output of the one or more tap points uniquely associated with the target audio application.

### Claim 3 (depends on 2)

The computer system of claim 2, the audio playback/routing manager being further configured to, in response to the request from the requestor audio application for audio content of the target audio application:
determine one or more access privileges associated with the requestor audio application; and
determine if the one or more access privileges permit the requestor audio application to receive the output of the one or more tap points uniquely associated with the target audio application.

### Claim 4 (depends on 1)

The computer system of claim 1, wherein the request to register the target audio application includes one or more access restrictions for the target audio application, the audio playback/routing manager being further configured to, in response to the request to register the target audio application:
store, in a rules store, the one or more access restrictions in association with an identifier of the target audio application.

### Claim 5 (depends on 1)

The computer system of claim 1, the audio playback/routing manager being further configured to, in response to the request to register the target audio application:
determine one or more access restrictions associated with the target audio application; and
store, in a rules store, the one or more access restrictions in association with an identifier of the target audio application.

### Claim 6 (depends on 5)

The computer system of claim 5, wherein the determining the one or more access restrictions associated with the target audio application comprises retrieving and applying an access policy for the architecture, the access policy including one or more rules, each of the one or more rules defining at least one access restriction for a type of audio content, type of audio application, or available target audio application.

### Claim 7 (depends on 1)

The computer system of claim 1, the audio playback/routing manager being further configured to:
create the one or more tap points uniquely associated with the target application when the request to register the target audio application is received.

### Claim 8 (depends on 1)

The computer system of claim 1, the audio playback/routing manager being further configured to, in response to the request from the requestor audio application for audio content of the target audio application, create a buffer to receive audio content routed from the target audio application and copy the audio content of the target audio application to the buffer.

### Claim 9 (depends on 1)

The computer system of claim 1, wherein the request for audio content of the target audio application comprises an application identifier of the target audio application.

### Claim 10 (depends on 1)

The computer system of claim 1, wherein the request for audio content of the target audio application comprises a process identifier of a process, the process being associated with the target audio application.

### Claim 11 (depends on 1)

The computer system of claim 1, wherein the request for audio content of the target audio application comprises an audio stream identifier of an audio stream, the audio stream being associated with the target audio application.

### Claim 12 (depends on 1)

The computer system of claim 1, wherein the audio content of the target audio application includes multiple audio streams from the target audio application, and wherein the one or more tap points uniquely associated with the target audio application are configured to mix the multiple audio streams to produce the output of the one or more tap points uniquely associated with the target audio application.

### Claim 13

In a computer system, a method for selectively receiving audio content of a target audio application, the method comprising, with a requestor audio application:
determining an identifier associated with a target audio application, the target audio application having one or more tap points uniquely associated with the target audio application, the target audio application being in communication with a master tap point, the master tap point being in communication with one or more audio endpoints and with a tap point for the requestor audio application;
sending, though an interface, a request for audio content of the target audio application, the request comprising the identifier; and
receiving, from the one or more tap points uniquely associated with the target audio application, the audio content of the target audio application.

### Claim 14 (depends on 13)

The method of claim 13, wherein the identifier comprises an application identifier.

### Claim 15 (depends on 13)

The method of claim 13, wherein the identifier comprises a process identifier of a process, the process being associated with the target audio application.

### Claim 16 (depends on 13)

The method of claim 13, wherein receiving the audio content of the target audio application comprises receiving a location of a buffer holding a copy of the audio content of the target audio application.

### Claim 17 (depends on 13)

The method of claim 13, further comprising, with the requestor audio application:
requesting information regarding available target audio applications; and
receiving the information regarding available target audio application, wherein the information comprises identifiers for the available target audio applications.

### Claim 18

One or more computer-readable media storing computer-executable instructions for causing a computer system, when programmed thereby, to perform operations comprising, with a target audio application:
sending, through an interface, a request to register the target audio application, the request comprising one or more access restrictions limiting access to audio content of the target audio application; and
sending audio content to one or more tap points created by an audio playback/routing manager component, the one or more tap points being uniquely associated with the target audio application, the target audio application being in communication with a master tap point, the master tap point being in communication with one or more audio endpoints and with tap points associated with one or more requestor audio applications.

### Claim 19 (depends on 18)

The computer-readable medium of claim 18, wherein the one or more access restrictions specify an access policy of an operating system.

### Claim 20 (depends on 19)

The computer-readable medium of claim 19, wherein the access policy is a digital rights management policy.
