System for abstracting audio-video codecs
First Claim
1. A method for providing media to a media player, said method comprising:
- receiving encoded media from at least one of a plurality of media sources; and
decoding said encoded media using an applications programming interface (API) comprising a plurality of codec libraries wherein each codec library corresponds to each of the plurality of media sources, the API structured to have a class hierarchy comprising a Renderer base class corresponding to a rendering functionality that is common to a plurality of renderer objects derived from said Renderer base class to render disparate media types.
2 Assignments
0 Petitions
Accused Products
Abstract
A game system utilizes a codecs abstraction laver (CAL) to allow the game system to accommodate new and/or modified codecs without requiring the game application code to be modified. The CAL, functioning as an application programming interface (API), operates between media sources and the game application. The game application interacts with the CAL and not the codec. Differences between codecs are transparent to the game application. New codecs can be introduced and used by existing applications without modifying the existing application code. The CAL processes media from a variety of sources such as memory, files, http sources, queues, custom sources, external drives, or game media sources (e.g., XMedia). The CAL determines the source of the media, the type of media being received (e.g., audio, video, image, animation, or game), and the codec used to compress the media. The CAL provides the decoded media to the game application.
24 Citations
18 Claims
-
1. A method for providing media to a media player, said method comprising:
-
receiving encoded media from at least one of a plurality of media sources; and decoding said encoded media using an applications programming interface (API) comprising a plurality of codec libraries wherein each codec library corresponds to each of the plurality of media sources, the API structured to have a class hierarchy comprising a Renderer base class corresponding to a rendering functionality that is common to a plurality of renderer objects derived from said Renderer base class to render disparate media types. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-readable storage medium having stored thereon, an application programming interface (API) for providing media to a media player, said API comprising:
-
a plurality of decoder objects for receiving formatted media and for respectively decoding said formatted media using at least one of a plurality of codec libraries, wherein each of the plurality of codec libraries corresponds to each of a plurality of media sources; a plurality of renderer objects for receiving decoded media from respective ones of the plurality of decoder objects and rendering said decoded media for execution in at least one of a plurality of media players; and a media player control object configured to provide a plurality of control signals for controlling each of the plurality of decoder objects and each of the renderer objects. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
-
13. A system for abstracting audio-video codecs, the system comprising:
-
a media source comprising a codec configured to generate an encoded media signal; and a computing device coupled to the media source, the computing device containing a computer-readable storage medium having stored thereon at least one application programming interface (API), wherein the at least one API is a codecs abstraction layer (CAL) program that is executed for generating a decoded media signal from the encoded media signal, the CAL program structured to have a class hierarchy comprising a Renderer base class corresponding to a rendering functionality that is common to a plurality of renderer objects, and wherein the Renderer base class comprises a) an audio renderer subclass, b) a video renderer subclass, c) an image renderer subclass and d) a sub renderer subclass, wherein the sub renderer subclass is used for rendering a secondary video stream contained in the encoded media. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification