Multimedia Pipeline Architecture
First Claim
1. A method, comprising:
- receiving, by a media device, a plurality of media content data streams;
storing, in one or more in-memory buffers, at least a portion of a particular media content stream of the plurality of media content data streams;
receiving, from a client device, a request for the particular media content stream, the request indicating a position within the particular media content stream;
in response to determining that the position within the particular media content stream corresponds to a particular buffer of the one or more in-memory data buffers, sending the particular buffer to the client device.
9 Assignments
0 Petitions
Accused Products
Abstract
A media content pipeline architecture is described that enables media devices to efficiently receive, store, play, and stream media content. In general, a media content pipeline as described herein is configured to receive media content streams from one or more input sources, segment and store the media content streams into fixed-sized or variable-sized data buffers, encrypt the data stored in the buffers, and store the encrypted data in an in-memory buffer cache for further processing. The media content pipeline further may be configured to write the encrypted buffers stored in the in-memory buffer cache to a secondary storage device (e.g., a hard disk) in response to the occurrence of one or more defined operating conditions. The media content pipeline may enable a media device to efficiently receive and process media content data streams, write the media content data streams to storage, and stream the media content data to client devices.
-
Citations
27 Claims
-
1. A method, comprising:
-
receiving, by a media device, a plurality of media content data streams; storing, in one or more in-memory buffers, at least a portion of a particular media content stream of the plurality of media content data streams; receiving, from a client device, a request for the particular media content stream, the request indicating a position within the particular media content stream; in response to determining that the position within the particular media content stream corresponds to a particular buffer of the one or more in-memory data buffers, sending the particular buffer to the client device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A non-transitory computer readable medium storing a program of instructions that is executable by a device to perform a method, the method comprising:
-
receiving, by a media device, a plurality of media content data streams; storing, in one or more in-memory buffers, at least a portion of a particular media content stream of the plurality of media content data streams; receiving, from a client device, a request for the particular media content stream, the request indicating a position within the particular media content stream; in response to determining that the position within the particular media content stream corresponds to a particular buffer of the one or more in-memory data buffers, sending the particular buffer to the client device. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. An apparatus, comprising:
-
a subsystem, implemented at least partially in hardware, that receives a plurality of media content data streams; a subsystem, implemented at least partially in hardware, that stores, in one or more in-memory buffers, at least a portion of a particular media content stream of the plurality of media content data streams; a subsystem, implemented at least partially in hardware, that receives, from a client device, a request for the particular media content stream, the request indicating a position within the particular media content stream; a subsystem, implemented at least partially in hardware, that, in response to determining that the position within the particular media content stream corresponds to a particular buffer of the one or more in-memory data buffers, sends the particular buffer to the client device. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
-
Specification