SMOOTH STREAMING CLIENT COMPONENT
First Claim
1. A computer-implemented method for interaction with an application from a client abstraction layer, the method comprising:
- receiving a request to instantiate the client abstraction layer;
receiving a request to set a media source through the abstraction layer, wherein the source identifies a server from which the abstraction layer can retrieve an identified media presentation;
downloading media associated with the requested media source on behalf of the application;
starting playback of the downloaded media on behalf of the application;
receiving an indication that a user action related to the media playback has occurred; and
modifying the media playback in accordance with the received indication of the user'"'"'s action,wherein the preceding steps are performed by at least one processor.
2 Assignments
0 Petitions
Accused Products
Abstract
A streaming abstraction system is described herein that provides application developers a client software development kit (SDK) on top of which to build smooth streaming solutions. The system reduces development time considerably and abstracts platform specific intricacies and protocol handling on the client. In addition, the streaming abstraction system makes it possible to monetize streaming content with advanced features like advertising and analytics and provides advanced capabilities like multiple camera angles, diagnostics, and error handling. In some embodiments, the streaming abstraction system provides an intermediate layer that operates between an application and an underlying client media platform. The intermediate layer manages smooth streaming protocol handling as well as interactions with the platform-specific runtime.
71 Citations
20 Claims
-
1. A computer-implemented method for interaction with an application from a client abstraction layer, the method comprising:
-
receiving a request to instantiate the client abstraction layer; receiving a request to set a media source through the abstraction layer, wherein the source identifies a server from which the abstraction layer can retrieve an identified media presentation; downloading media associated with the requested media source on behalf of the application; starting playback of the downloaded media on behalf of the application; receiving an indication that a user action related to the media playback has occurred; and modifying the media playback in accordance with the received indication of the user'"'"'s action, wherein the preceding steps are performed by at least one processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer system for providing an intermediate layer between a client application and an underlying platform for playing media to handle smooth streaming media, the system comprising:
-
a processor and memory configured to execute software instructions; an application interface component configured to provide an interface to one or more client application through which the applications can access smooth streaming media; a manifest management component configured to download manifest information from a smooth streaming server that describes smooth streaming media to be played by the system; a chunk management component configured to retrieve one or more chunks associated with smooth streaming media and prepares the chunks for playback by an underlying platform; a heuristics component 135 configured to analyze success of receiving packets from the server and adapt a client'"'"'s requests based on a set of current network conditions; a timeline management component configured to determine a timeline that represents a duration of the smooth streaming media and allows the client application to make requests that use the timeline as a reference point; a state management component 145 configured to manage state information about ongoing playback and provide client applications with consistent state indications; a track selection component configured to allow a client application to select available streaming media streams and tracks for playback; an advertising management component configured to allow a client application to insert advertisements into a streaming media presentation; a diagnostics/analytics component configured to provide a facility for diagnosing errors and receiving reports related to playback of smooth streaming media; and a platform interface component configured to provide an interface to an underlying platform for playing media content. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A computer-readable storage medium comprising instructions for controlling a computer system to interact with an underlying platform from an abstraction layer that allows client applications to play smooth streaming media, wherein the instructions, when executed, cause a processor to perform actions comprising:
-
receiving a media chunk from a smooth streaming server; storing the received media chunk in a buffer for playback; providing the buffer to a platform layer that includes audiovisual decoding and playback facilities; receiving a media change indication that indicates a change in the media from a user or a server providing the media; flushing the buffer to provide modified media for playback to the platform layer without exhausting the previous buffer; and providing modified media chunks to the platform layer for playback, wherein the abstraction layer interacts with the platform layer on behalf of a client application to playback media and respond to changes. - View Dependent Claims (18, 19, 20)
-
Specification