# US 11,310,557 B2 · Audio content playback management

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

- Number: US 11,310,557 B2
- Document ID: US11310557B2
- Status: Granted
- Kind: B2
- Application number: 16/565,456
- Filed: 2019-09-09
- Published: 2020-02-06
- Granted: 2022-04-19
- Earliest claimed: 2012-09-28
- Assignees: Sonos, Inc.
- Applicants: Sonos, Inc.
- Inventors: Paul Andrew Bates; Abhishek Kumar
- Web page: https://patentgrep.com/patent/US11310557B2

## CPC

- H04N 21/439: Processing of audio elementary streams
- G06F 16/40: of multimedia data, e.g. slideshows comprising image and additional audio data (retrieval of still image data G06F16/50; retrieval of audio data G06F16/60; retrieval of video data G06F16/70)
- G06F 16/4387: {by the use of playlists}
- G06F 16/60: of audio data
- G06F 16/639: {using playlists}
- G11B 27/031: Electronic editing of digitised analogue information signals, e.g. audio or video signals
- H04L 49/90: Buffering arrangements
- H04L 65/613: for the control of the source by the destination (control signals issued by the client directed to the server or network components specially adapted for selective content distribution H04N21/637)
- H04N 21/00: Selective content distribution, e.g. interactive television or video on demand [VOD] (real-time bi-directional transmission of motion video data H04N7/14 {; broadcast or conference over packet switching networks H04L12/18})
- H04N 21/4825: {using a list of items to be played back in a given order, e.g. playlists}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G11B: INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER (recording measured values in a way that does not require playback through a transducer G01D9/00; recording or playback apparatus using mechanically marked tape, e.g. punched paper tape, or using unit records, e.g. punched or magnetically marked cards G06K; transferring data from one type of record carrier to another G06K1/18; circuits for coupling output of reproducer to radio receiver H04B1/20; gramophone pick-ups or like acoustic electromechanical transducers or circuits therefor H04R)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

An example implementation involves a playback device receiving a request to add continuous automated streaming audio content to a playback queue, the request indicating a playback start time, and the playback queue indicating a plurality of audio content. The implementation further involves the playback device adding the continuous automated streaming audio content to the playback queue. The example implementation also involves the playback device determining that a duration until the playback start time is less than a duration of the given audio content before playing a given audio content in the playback queue. The example implementation involves the playback device responsively, playing the continuous automated streaming audio content.

## Claims

### Claim 1

A method comprising:
while a playback device is playing a first audio track from a playback queue comprising a plurality of audio tracks and a streaming audio program, where the streaming audio program has a defined start time and a defined stop time, determining whether the playback device should play one of the streaming audio program or a second audio track next after completing playback of the first audio track based at least in part on (i) the defined start time of the streaming audio program and (ii) an available buffer time;
when the playback device can complete playback of the second audio track before the defined start time of the streaming audio program, playing the second audio track after completing playback of the first audio track;
when the playback device cannot complete playback of the second audio track before the defined start time of the streaming audio program, and when the playback device can buffer the streaming audio program for less than the available buffer time while completing playback of the second audio track, (i) playing the second audio track after completing playback of the first audio track, (ii) buffering the streaming audio program starting at the defined start time for the streaming audio program, (iii) playing the streaming audio program after completing playback of the second audio track, and (iv) extending playback of the streaming audio program past the defined stop time to complete playback of the streaming audio program; and
when the playback device cannot complete playback of the second audio track before the defined start time of the streaming audio program, and when the playback device would need to buffer the streaming audio program for more than the available buffer time while completing playback of the second audio track, (i) playing content other than the second audio track after completing playback of the first audio track until the defined the start time of the streaming audio program, and (ii) playing the streaming audio program at the defined start time of the streaming audio program.

### Claim 2 (depends on 1)

The method of claim 1, wherein the available buffer time is less than two minutes.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
after playing the streaming audio program next after completing playback of the first audio track, and after completing playback of the streaming audio program, playing the second audio track queued in the playback queue.

### Claim 4 (depends on 1)

The method of claim 1, wherein the streaming audio program comprises a live radio program.

### Claim 5 (depends on 1)

The method of claim 1, wherein the streaming audio program comprises a playlist of audio tracks streamed from an Internet radio station.

### Claim 6 (depends on 1)

The method of claim 1, wherein the first audio track is received from a first online audio source and the streaming audio program is received from a second online audio source.

### Claim 7 (depends on 1)

The method of claim 1, wherein the defined start time and the defined stop time of the streaming audio program is based on a lookup of the streaming audio program at a streaming audio program provider.

### Claim 8

A computing device comprising:
one or more processors; and
at least one tangible, non-transitory computer-readable medium comprising program instructions that are executable by the one or more processors such that the computing device is configured to:
while a playback device is playing a first audio track from a playback queue comprising a plurality of audio tracks and a streaming audio program, where the streaming audio program has a defined start time and a defined stop time, determine whether the playback device should play one of the streaming audio program or a second audio track next after completing playback of the first audio track based at least in part on (i) the defined start time of the streaming audio program and (ii) an available buffer time;
when the playback device can complete playback of the second audio track before the defined start time of the streaming audio program, play the second audio track after completing playback of the first audio track;
when the playback device cannot complete playback of the second audio track before the defined start time of the streaming audio program, and when the playback device can buffer the streaming audio program for less than the available buffer time while completing playback of the second audio track, (i) play the second audio track after completing playback of the first audio track, (ii) buffer the streaming audio program starting at the defined start time for the streaming audio program, (iii) play the streaming audio program after completing playback of the second audio track, and (iv) extend playback of the streaming audio program past the defined stop time to complete playback of the streaming audio program; and
when the playback device cannot complete playback of the second audio track before the defined start time of the streaming audio program, and when the playback device would need to buffer the streaming audio program for more than the available buffer time while completing playback of the second audio track, (i) play content other than the second audio track after completing playback of the first audio track until the defined the start time of the streaming audio program, and (ii) play the streaming audio program at the defined start time of the streaming audio program.

### Claim 9 (depends on 8)

The computing device of claim 8, wherein the available buffer time is less than two minutes.

### Claim 10 (depends on 8)

The computing device of claim 8, wherein the at least one tangible, non-transitory computer readable medium further comprises program instructions that are executable by the one or more processors such that the computing device is configured to:
after playing the streaming audio program next after completing playback of the first audio track, and after completing playback of the streaming audio program, play the second audio track queued in the playback queue.

### Claim 11 (depends on 8)

The computing device of claim 8, wherein the streaming audio program comprises a live radio program.

### Claim 12 (depends on 8)

The computing device of claim 8, wherein the streaming audio program comprises a playlist of audio tracks streamed from an Internet radio station.

### Claim 13 (depends on 8)

The computing device of claim 8, wherein the first audio track is received from a first online audio source and the streaming audio program is received from a second online audio source.

### Claim 14 (depends on 8)

The computing device of claim 8, wherein the defined start time and the defined stop time of the streaming audio program is based on a lookup of the streaming audio program at a streaming audio program provider.

### Claim 15

Tangible, non-transitory computer-readable media comprising instructions stored therein, wherein the instructions, when executed, cause a playback system to perform functions comprising:
while a playback system is playing a first audio track from a playback queue comprising a plurality of audio tracks and a streaming audio program, where the streaming audio program has a defined start time and a defined stop time, determining whether the playback system should play one of the streaming audio program or a second audio track next after completing playback of the first audio track based at least in part on (i) the defined start time of the streaming audio program and (ii) an available buffer time;
when the playback system can complete playback of the second audio track before the defined start time of the streaming audio program, playing the second audio track after completing playback of the first audio track;
when the playback system cannot complete playback of the second audio track before the defined start time of the streaming audio program, and when the playback system can buffer the streaming audio program for less than the available buffer time while completing playback of the second audio track, (i) playing the second audio track after completing playback of the first audio track, (ii) buffering the streaming audio program starting at the defined start time for the streaming audio program, (iii) playing the streaming audio program after completing playback of the second audio track, and (iv) extending playback of the streaming audio program past the defined stop time to complete playback of the streaming audio program; and
when the playback system cannot complete playback of the second audio track before the defined start time of the streaming audio program, and when the playback system would need to buffer the streaming audio program for more than the available buffer time while completing playback of the second audio track, (i) playing content other than the second audio track after completing playback of the first audio track until the defined the start time of the streaming audio program, and (ii) playing the streaming audio program at the defined start time of the streaming audio program.

### Claim 16 (depends on 15)

The tangible, non-transitory computer-readable media of claim 15, wherein the available buffer time is less than two minutes.

### Claim 17 (depends on 15)

The tangible, non-transitory computer-readable media of claim 15, wherein the tangible, non-transitory computer-readable media comprises further instructions, wherein the further instructions, when executed, cause the playback system to perform further functions comprising:
after playing the streaming audio program next after completing playback of the first audio track, and after completing playback of the streaming audio program, playing the second audio track queued in the playback queue.

### Claim 18 (depends on 15)

The tangible, non-transitory computer-readable media of claim 15, wherein the streaming audio program comprises a live radio program.

### Claim 19 (depends on 15)

The tangible, non-transitory computer-readable media of claim 15, wherein the streaming audio program comprises a playlist of audio tracks streamed from an Internet radio station.

### Claim 20 (depends on 15)

The tangible, non-transitory computer-readable media of claim 15, wherein the defined start time and the defined stop time of the streaming audio program is based on a lookup of the streaming audio program at a streaming audio program.
