# US 11,442,690 B2 · Interoperability of native media playback system with virtual line-in

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

- Number: US 11,442,690 B2
- Document ID: US11442690B2
- Status: Granted
- Kind: B2
- Application number: 16/871,594
- Filed: 2020-05-11
- Published: 2020-10-22
- Granted: 2022-09-13
- Earliest claimed: 2018-05-15
- Assignees: Sonos, Inc.
- Applicants: Sonos, Inc.
- Inventors: Arthur L. Coburn, IV; Chris Kotowski; Arvin Faruque
- Web page: https://patentgrep.com/patent/US11442690B2

## CPC

- G06F 3/165: {Management of the audio stream, e.g. setting of volume, audio stream path}
- G05B 15/02: electric
- G06F 3/0482: Interaction with lists of selectable items, e.g. menus
- G06F 3/162: {Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs}
- H04L 12/2805: {Home Audio Video Interoperability [HAVI] networks}
- H04N 21/4307: {Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen}
- H04N 21/43076: {of the same content streams on multiple devices, e.g. when family members are watching the same movie on different devices}
- H04N 21/43615: {Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals (home Audio Video Interoperability [HAVI] data switching networks H04L12/2805)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Example systems and techniques disclosed herein facilitate interoperability between different media playback systems referred to herein as a virtual line-in (VLI) media playback system and a native playback system. When a VLI session is created by a VLI sender, a first native playback device can join a VLI group as a VLI receiver. As a VLI receiver, the first native playback device receives audio content and playback commands from the VLI sender to facilitate synchronous playback with other VLI receivers. At the same time, this native playback device can concurrently operate as a native domain group coordinator of a native domain synchrony group. As the native domain group coordinator, the native playback device translates VLI domain audio, control, and timing signals into the native domain and distributes such signals to native domain group members. In this way, the native domain group members can synchronize their playback with the VLI group.

## Claims

### Claim 1

A system comprising a first native playback device configured as a first Virtual Line-In (VLI) receiver of a VLI group, wherein the VLI group is configured to (i) receive, via an input interface of a first VLI device configured as a VLI sender of the VLI group, user input to perform a particular operation, the particular operation corresponding to a VLI domain command in a VLI domain and (ii) send, via a network interface of the first VLI device, first VLI domain command, and wherein the first native playback device is configured to perform functions as the first VLI receiver of the VLI group, the functions comprising:
receiving, via a network interface of the first native playback device, the VLI domain command;
translating the VLI domain command to two or more corresponding native domain commands in a native domain; and
in response to receiving the VLI domain command, carrying out the two or more corresponding native domain commands to perform the particular operation on the first VLI receiver.

### Claim 2 (depends on 1)

The system of claim 1, wherein the VLI domain command is a VLU domain transition command to transition from a first state to a second state in the VLI domain, and wherein the two or more corresponding native domain commands comprise: (i) transitioning from a first native domain state corresponding to the first state in the VLI domain to a second native domain state corresponding to the second state in the VLI domain; (ii) storing values of one or more native domain variables corresponding to the first native domain state; and (iii) modifying the values of the one or more native domain variables.

### Claim 3 (depends on 2)

The system of claim 2, wherein the first native playback device is configured as the first VLI receiver of the VLI group perform functions further comprising:
while the VLI group is in the second native domain state, receiving, via an input interface of the first native playback device, a native domain command to transition to the first native domain state; and
in response to receiving the native domain command to transition to the first native domain state, (i) translating the native domain command to a second VLU domain transition command to transition from the second state to the first state in the VLI domain, the second VLU domain transition command indicating the stored values of one or more native domain variables corresponding to the first native domain state, (ii) sending the second VLU domain transition command to the VLI sender of the VLI group, (iii) transitioning from the second native domain state to the first native domain state, and (iv) adjusting values of the one or more native domain variables to the stored values of the one or more native domain variables.

### Claim 4 (depends on 3)

The system of claim 3, wherein receiving, via the input interface of the first native playback device, the native domain command comprises one of: (a) receiving, via the network interface of the first native playback device from a native domain control app, one or more messages representing the native domain command or (b) receiving, via physical controls on the first native playback device, user input representing the native domain command.

### Claim 5 (depends on 1)

The system of claim 1, wherein translating the VLI domain command to two or more corresponding native domain commands comprises:
translating the VLI domain command to one or more non-default native domain commands that correspond to the VLI domain command, wherein the first native playback device is configured carry out one or more default native domain commands to perform the particular operation in the native domain.

### Claim 6 (depends on 5)

The system of claim 5, wherein the particular operation is a seek forward, wherein the VLI domain command is a VLI domain seek forward command to seek forward a first number of seconds, wherein the one or more non-default native domain commands comprise a first native domain seek forward command to seek forward the first number of seconds, and wherein the one or more default native domain commands comprise a second native domain seek forward command to seek forward a second number of seconds different from the first number of seconds.

### Claim 7 (depends on 6)

The system of claim 6, wherein the first native playback device is configured as the first VLI receiver of the VLI group perform functions further comprising:
receiving, via an input interface of the first native playback device, the second native domain seek forward command; and
in response to receiving the native domain seek forward command, (i) translating the second native domain seek command to a VLI domain seek command, (ii) sending the VLI domain seek command to the VLI sender of the VLI group, (iii) translating to the first native domain seek command, and skipping forward the first number of seconds.

### Claim 8 (depends on 1)

The system of claim 1, wherein the VLI domain command is a VLU domain pause command that stops streaming of a currently playing audio stream, and wherein the two or more corresponding native domain commands comprise: (i) transitioning to a native domain pause state and (ii) buffering the currently playing audio stream in a circular buffer.

### Claim 9 (depends on 1)

The system of claim 1, wherein the first native playback device is configured as a native domain group coordinator of a native domain synchrony group to perform functions comprising:
in response to receiving the VLI domain command, sending, to one or more second native playback devices of the native domain synchrony group, one or more commands to carry out the two or more corresponding native domain commands to perform the particular operation on the one or more second native playback devices.

### Claim 10

A method to be performed by a first native playback device configured to perform the method as a first Virtual Line-In (VLI) receiver of a VLI group, wherein the VLI group is configured to (i) receive, via an input interface of a first VLI device configured as a VLI sender of the VLI group, user input to perform a particular operation, the particular operation corresponding to a VLI domain command in a VLI domain and (ii) send, via a network interface of the first VLI device, the VLI domain command, and wherein the method comprises:
receiving, via a network interface of the first native playback device, the VLI domain command;
translating the VLI domain command to two or more corresponding native domain commands in a native domain; and
in response to receiving the VLI domain command, carrying out the two or more corresponding native domain commands to perform the particular operation on the first VLI receiver.

### Claim 11 (depends on 10)

The method of claim 10, wherein the VLI domain command is a VLU domain transition command to transition from a first state to a second state in the VLI domain, and wherein the two or more corresponding native domain commands comprise: (i) transitioning from a first native domain state corresponding to the first state in the VLI domain to a second native domain state corresponding to the second state in the VLI domain; (ii) storing values of one or more native domain variables corresponding to the first native domain state; and (iii) modifying the values of the one or more native domain variables.

### Claim 12 (depends on 11)

The method of claim 11, further comprising:
while the VLI group is in the second native domain state, receiving, via an input interface of the first native playback device, a native domain command to transition to the first native domain state; and
in response to receiving the native domain command to transition to the first native domain state, (i) translating the native domain command to a second VLU domain transition command to transition from the second state to the first state in the VLI domain, the second VLU domain transition command indicating the stored values of one or more native domain variables corresponding to the first native domain state, (ii) sending the second VLU domain transition command to the VLI sender of the VLI group, (iii) transitioning from the second native domain state to the first native domain state, and (iv) adjusting values of the one or more native domain variables to the stored values of the one or more native domain variables.

### Claim 13 (depends on 12)

The method of claim 12, wherein receiving, via the input interface of the first native playback device, the native domain command comprises one of: (a) receiving, via the network interface of the first native playback device from a native domain control app, one or more messages representing the native domain command or (b) receiving, via physical controls on the first native playback device, user input representing the native domain command.

### Claim 14 (depends on 10)

The method of claim 10, wherein translating the VLI domain command to two or more corresponding native domain commands comprises:
translating the VLI domain command to one or more non-default native domain commands that correspond to the VLI domain command, wherein the first native playback device is configured carry out one or more default native domain commands to perform the particular operation in the native domain.

### Claim 15 (depends on 14)

The method of claim 14, wherein the particular operation is a seek forward, wherein the VLI domain command is a VLI domain seek forward command to seek forward a first number of seconds, wherein the one or more non-default native domain commands comprise a first native domain seek forward command to seek forward the first number of seconds, and wherein the one or more default native domain commands comprise a second native domain seek forward command to seek forward a second number of seconds different from the first number of seconds.

### Claim 16 (depends on 15)

The method of claim 15, further comprising:
receiving, via an input interface of the first native playback device, the second native domain seek forward command; and
in response to receiving the native domain seek forward command, (i) translating the second native domain seek command to a VLI domain seek command, (ii) sending the VLI domain seek command to the VLI sender of the VLI group, (iii) translating to the first native domain seek command, and skipping forward the first number of seconds.

### Claim 17 (depends on 10)

The method of claim 10, wherein the VLI domain command is a VLU domain pause command that stops streaming of a currently playing audio stream, and wherein the two or more corresponding native domain commands comprise: (i) transitioning to a native domain pause state and (ii) buffering the currently playing audio stream in a circular buffer.

### Claim 18 (depends on 10)

The method of claim 10, wherein the first native playback device is configured as a native domain group coordinator of a native domain synchrony group, and wherein the method further comprises:
in response to receiving the VLI domain command, sending, to one or more second native playback devices of the native domain synchrony group, one or more commands to carry out the two or more corresponding native domain commands to perform the particular operation on the one or more second native playback devices.

### Claim 19

A tangible non-transitory computer-readable medium storing instructions executable by one or more processors to cause a first native playback device to perform functions as a first Virtual Line-In (VLI) receiver of a VLI group, wherein the VLI group is configured to (i) receive, via an input interface of a first VLI device configured as a VLI sender of the VLI group, user input to perform a particular operation, the particular operation corresponding to a VLI domain command in a VLI domain and (ii) send, via a network interface of the first VLI device, first VLI domain command, and wherein the functions comprise:
receiving, via a network interface of the first native playback device, the VLI domain command;
translating the VLI domain command to two or more corresponding native domain commands in a native domain; and
in response to receiving the VLI domain command, carrying out the two or more corresponding native domain commands to perform the particular operation on the first VLI receiver.

### Claim 20 (depends on 19)

The tangible non-transitory computer-readable medium of claim 19, wherein the VLI domain command is a VLU domain transition command to transition from a first state to a second state in the VLI domain, and wherein the two or more corresponding native domain commands comprise: (i) transitioning from a first native domain state corresponding to the first state in the VLI domain to a second native domain state corresponding to the second state in the VLI domain; (ii) storing values of one or more native domain variables corresponding to the first native domain state; and (iii) modifying the values of the one or more native domain variables.
