IP Library Granted Patent US 9,485,293
Granted Patent B2
US 9,485,293 · App. 14/918,368 · Granted Nov 1, 2016

Dynamic chunk manipulation for streaming mixed media: application programming interface

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,485,293
App. No.
14/918,368
Granted
Nov 1, 2016
Kind
B2
Abstract

Timestamps for streams of media that transition from one media source to another (such as from live content to on-demand content, and vice versa) can be rewritten by a server to help ensure error-free streaming by the client. Embodiments can coordinate the creation of a client manifest with the dynamic creation of a requested segment of media (i.e., “chunk”) to determine how to rewrite timestamps of requested chunks such that they are continuous through the transition.

Claims (68)

1. A method of providing media streaming via a data communications network, the method comprising:

receiving a stream of data representing first media source;

obtaining timing information of the stream of data;

receiving, via the data communications network, a request to stream the first media source;

creating, with a processing unit, a manifest that includes:

information for streaming one or more segments of the first media source via the data communications network,

information for streaming one or more segments of a second media source, distinct from the first media source,

a requested length of the one or more segments of the second media source, and

offset information for streaming the one or more segments of the second media source, the offset information based on the timing information of the stream of data and indicative of a value by which at least one timestamp of the one or more segments of the second media source is to be offset; and

sending, via the data communications network, the manifest.

2. The method of providing media streaming via a data communications network, as recited in claim 1 , further comprising providing an application programming interface (API), wherein the request to stream the first media source is received via the API.

3. The method of providing media streaming via a data communications network, as recited in claim 1 , wherein creating the manifest further includes providing, in the manifest, an indication of a discontinuity in the stream of the first media source.

4. The method of providing media streaming via a data communications network, as recited in claim 3 , further comprising:

determining a type of client associated with the request to stream the first media source;

wherein providing the indication of the discontinuity is based on the determination of the type of client.

5. The method of providing media streaming via a data communications network, as recited in claim 1 , wherein obtaining the timing information of the stream of data comprises:

sending a request for the timing information; and

receiving a response to the request, the response including the timing information.

6. The method of providing media streaming via a data communications network, as recited in claim 5 , further comprising:

receiving an indication of a period of time in the first media source designated for advertising;

wherein sending the request for the timing information is based on the receipt of the indication of the period of time in the first media source designated for advertising.

7. The method of providing media streaming via a data communications network, as recited in claim 1 , wherein the timing information of the stream of data includes one or more timestamps associated with one or more segments of the stream of data.

8. A server for providing media streaming via a data communications network, the server comprising:

a communications interface;

a memory; and

a processing unit coupled to the communications interface and the memory, the processing unit configured to cause the server to:

receive a stream of data representing first media source;

obtain timing information of the stream of data;

receive, via the communications interface, a request to stream the first media source;

create a manifest that includes:

information for streaming one or more segments of the first media source via the data communications network,

information for streaming one or more segments of a second media source, distinct from the first media source,

a requested length of the one or more segments of the second media source, and

offset information for streaming the one or more segments of the second media source, the offset information based on the timing information of the stream of data and indicative of a value by which at least one timestamp of the one or more segments of the second media source is to be offset; and

send, via the communications interface, the manifest.

9. The server for providing media streaming via a data communications network, as recited in claim 8 , wherein the processing unit is further configured to cause the server to provide an application programming interface (API), wherein the request to stream the first media source is received via the API.

10. The server for providing media streaming via a data communications network, as recited in claim 8 , wherein the processing unit is configured to cause the server to create the manifest by providing, in the manifest, an indication of a discontinuity in the stream of the first media source.

11. The server for providing media streaming via a data communications network, as recited in claim 10 , wherein the processing unit is further configured to cause the server to:

determine a type of client associated with the request to stream the first media source;

wherein providing the indication of the discontinuity is based on the determination of the type of client.

12. The server for providing media streaming via a data communications network, as recited in claim 8 , wherein the processing unit is configured to cause the server to obtain the timing information of the stream of data by:

sending a request for the timing information; and

receiving a response to the request, the response including the timing information.

13. The server for providing media streaming via a data communications network, as recited in claim 12 , wherein the processing unit is further configured to cause the server to:

receive an indication of a period of time in the first media source designated for advertising;

wherein sending the request for the timing information is based on the receipt of the indication of the period of time in the first media source designated for advertising.

14. The server for providing media streaming via a data communications network, as recited in claim 8 , wherein the timing information of the stream of data includes one or more timestamps associated with one or more segments of the stream of data.

15. A non-transitory computer-readable medium having instructions embedded thereon for providing media streaming via a data communications network, the instructions, when executed by a computer, cause the computer to perform functions including:

receiving a stream of data representing first media source;

obtaining timing information of the stream of data;

receiving a request to stream the first media source;

creating a manifest that includes:

information for streaming one or more segments of the first media source via the data communications network,

information for streaming one or more segments of a second media source, distinct from the first media source,

a requested length of the one or more segments of the second media source, and

the manifest further includes offset information for streaming the one or more segments of the second media source, the offset information based on the timing information of the stream of data and indicative of a value by which at least one timestamp of the one or more segments of the second media source is to be offset; and

sending the manifest.

16. The computer-readable medium, as recited in claim 15 , further comprising instructions for causing the computer to provide an application programming interface (API), wherein the request to stream the first media source is received via the API.

17. The computer-readable medium, as recited in claim 15 , wherein the instructions for creating the manifest further include instructions for providing, in the manifest, an indication of a discontinuity in the stream of the first media source.

18. The computer-readable medium, as recited in claim 17 , further including instructions for causing the computer to:

determine a type of client associated with the request to stream the first media source;

wherein providing the indication of the discontinuity is based on the determination of the type of client.

19. The computer-readable medium, as recited in claim 15 , wherein the instructions for obtaining the timing information of the stream of data further include instructions for causing the computer to:

send a request for the timing information; and

receive a response to the request, the response including the timing information.

20. The computer-readable medium, as recited in claim 19 further comprising instructions for causing the computer to:

receive an indication of a period of time in the first media source designated for advertising;

wherein sending the request for the timing information is based on the receipt of the indication of the period of time in the first media source designated for advertising.

Assignments (6)
CHANGE OF NAME Recorded Mar 31, 2026
From: ADEIA MEDIA HOLDINGS LLC
To: ADEIA MEDIA HOLDINGS INC.
Reel/Frame 075304/0073 →
SECURITY INTEREST Recorded May 28, 2025
From: ADEIA INC. (F/K/A XPERI HOLDING CORPORATION); ADEIA HOLDINGS INC.; ADEIA MEDIA HOLDINGS INC.; ADEIA IMAGING LLC; ADEIA MEDIA LLC; ADEIA MEDIA SOLUTIONS INC.; ADEIA SEMICONDUCTOR BONDING TECHNOLOGIES INC.; ADEIA TECHNOLOGIES INC.; ADEIA GUIDES INC.; ADEIA SOLUTIONS LLC; ADEIA SEMICONDUCTOR ADVANCED TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR SOLUTIONS LLC; ADEIA SEMICONDUCTOR INTELLECTUAL PROPERTY LLC; ADEIA SEMICONDUCTOR TECHNOLOGIES LLC; ADEIA PUBLISHING INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 071454/0343 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 4, 2024
From: BRIGHTCOVE INC.
To: ADEIA MEDIA HOLDINGS LLC
Reel/Frame 067609/0435 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2015
From: MCGOWAN, ALBERT JOHN; MAULTSBY, NICHOLAS; MARSHALL, JARED
To: UNICORN MEDIA, INC.
Reel/Frame 037391/0084 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2015
From: UNICORN MEDIA, INC.
To: CACTI ACQUISITION LLC
Reel/Frame 037391/0188 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2015
From: CACTI ACQUISITION LLC
To: BRIGHTCOVE INC.
Reel/Frame 037391/0281 →