Patent ID: 7735096

Claim:
A system, comprising: a processor; and one or more computer-readable media, the one or more computer-readable media including: a presentation that includes media content, the media content comprising at least one of audio content and video content; a media engine to obtain input information from the media content, the media engine including at least one transform and at least one media sink, and the input information including a media content descriptor information and media type information; a destination object to receive the input information from the media engine, to further selectively associate the input information with one or more output presentation descriptors, to provide the one or more output presentation descriptors to the media engine, and to expose an application program interface (API) by implementing a method that is defined to have: an input argument that is a pointer to a descriptor of a stream of media content to be presented in the presentation, another input argument that is a pointer to a media type to be used in presenting the stream of media content, and an output argument that is a pointer to an object containing information regarding where and how media content is to be presented; and an application to provide the presentation to an output target, the application further configured to dynamically create the media engine and the destination object, wherein the media engine is further configured to setup the at least one transform and obtain the at least one media sink based on the one or more output presentation descriptors provided by the destination object to process the presentation for output to the output target.