摘要:
A component, such as a Component Object Model (COM) object, operates as an intermediary between an Application Programming Interface (API) extension or plug-in and a driver. The component allows additional objects to be aggregated onto the component, and/or sets one or more setting values for a received request so that an I/O call associated with the request can be completed in a manner that is compatible with other I/O calls. The component may also return, in response to a particular request, a stream index associated with the component.
摘要:
A method and system provides interfaces, data structures and events for representing a “sink” of multimedia data to interact with objects in a multimedia system to control multimedia objects. The interfaces and data structures enable efficient management for media objects that must interface directly with each other. One embodiment is directed to providing a common interface and a single API to a plurality of media objects. In an embodiment, the API is a control layer that isolates the media objects from each other and provides a single point of control, allowing media objects to be added or removed without affecting any other media objects. The control layer allows users to become familiar with only one API instead of many thereby facilitating the tasks of programming and documentation.
摘要:
A computer-implemented authentication protocol is used to subvert man-in-the-middle-type attacks on communications between software components that are permitted to interoperate within a processing environment, such as a media processing environment, pursuant to one or more licenses. In one exemplary scenario, a particular application transmits to a particular media processing component (“MPC”), among other things, a cryptographically protected message including a reference to a process in which the application is running and/or a GUID that the application used to invoke the MPC. If the received process and/or GUID are verified, it is possible for in-the-clear communication to occur between the application and the MPC without man-in-the-middle subversion.
摘要:
Media processing methods, systems and application program interfaces (APIs) are described. In but one embodiment, a media engine component, also referred to as a media engine, provides a simple and unified way of rendering media from an origin to a destination of choice without requiring intimate knowledge about the underlying components, their connectivity and management. Clients of the media engine need not worry about how to render the particular media, but rather can simply focus on what media to render and where to render the media. In at least one embodiment, a media session is provided and is encapsulated by the media engine and provides a mechanism by which additional components are made transparent to the application and, in at least some embodiment, the media engine. In some embodiments, the media engine and media session provide a simple API for building, configuring, and manipulating a pipeline of components (e.g. media sources, transforms, and sinks) for media flow control between an origin and one or more destinations.
摘要:
A set of interfaces and data structures (i.e., a demultiplexer API) represents a demultiplexer of multimedia data. The data structure utilizes a number of fields, each containing an element of a command. In one embodiment, at least seven commands are formed for proper operation of the demultiplexer, including Initialize, SetPresentationDescriptor, GetPresentationDescriptor, GetPendingPresentationDescriptor, ProcessInput, ProcessOutput, and Flush commands. The demultiplexer API allows the consumer to use muxed stream data such as DV in a uniform manner to generate elementary stream data such as audio and video (compressed or uncompressed) and allows demultiplexers to be used as an independent component.
摘要:
Resource management architectures implemented in computer systems to manage resources are described. In one embodiment, a general architecture includes a resource manager and multiple resource providers that support one or more resource consumers such as a system component or application. Each provider is associated with a resource and acts as the manager for the resource when interfacing with the resource manager. The resource manager arbitrates access to the resources provided by the resource providers on behalf of the consumers. A policy manager sets various policies that are used by the resource manager to allocate resources. One policy is a priority-based policy that distinguishes among which applications and/or users have priority over others to use the resources. A resource consumer creates an “activity” at the resource manager and builds one or more “configurations” that describe various sets of preferred resources required to perform the activity. Each resource consumer can specify one or more configurations for each activity. If multiple configurations are specified, the resource consumer can rank them according to preference. This allows the resource consumers to be dynamically changed from one configuration to another as operating conditions change.
摘要:
A computing system, which is in communication with a multimedia source and that includes at least one application for processing multimedia content from the multimedia source, includes an Application Programming Interface (API) for obtaining basic multimedia information that may be required by applications to process the multimedia content. By doing this, the invention enables multimedia application(s) to easily obtain the basic information from the API in a predetermined and standard manner, without having to obtain the information directly from the multimedia source, thereby reducing the functionality that has to be programmed directly into the application(s) for obtaining the basic information, and thereby reducing the cost, time, and resources that are required for creating the multimedia application(s).
摘要:
In a text display system facilitating the editing of text, smooth and flicker free updates to text displayed using proportionally spaced fonts are effected by interleaving the characters of an original and an updated text according to their associated cumulative character widths by sequentially storing each lesser cumulative character width and each character in buffers thereby establishing the order of display of the interleaved characters according to each original and updated cumulative character widths. The interleaved characters are then displayed according to the order of storage thereby incrementally displaying and deleting characters of the updated and original texts respectively such that an original character is deleted and replaced by an appropriate number of updated text characters resulting in a smooth text update.
摘要:
A multimedia processing system and methods provide flexibility and modularity by separating data flow information from maintaining of stream state for multimedia components. The system includes a media processor component to process received media data, a media session to determine a timeline for events to occur for performing media processing and a topology loader component to load a topology that describes a flow for the received media data to enable processing via an extensible symbolic abstraction of media objects. The topology loader ensures that events described in the topology occur. The system also includes core layer components such as media sink components to determine a media stream for output from the multimedia processing system and a media source component coupled to supply media data for processing. The topology created in the system symbolically provides data flow information, independent of maintaining a streaming state of control information.
摘要:
Media processing methods, systems and application program interfaces (APIs) in which a destination component, also referred to as a destination, provides an application with a simple and unified way of rendering, archiving, broadcasting (or other types of media output processing) media from an origin to a target of choice, without requiring the application to have intimate knowledge about underlying components, their connectivity and management. For example, applications can use a destination to help manage the rendering or archiving (or other processing) of the particular media.