Media plug-in registration and dynamic loading
First Claim
1. A processor-readable storage medium comprising processor-executable instructions to be executed by one or more processors to perform a method comprising:
- constructing a filter graph to process a data stream from a source file which is received by a media player;
processing the data stream through the filter graph;
receiving an instruction from a user to load a new filter into the filter graph, wherein the new filter is new to the media player and modifies data of the data stream;
registering the new filter with the media player when the new filter is installed, such that the new filter can be recognized by the media player for loading based on registration parameters stored in a registry, and such that the new filter cannot subsequently be pirated for use on other types of media players;
recognizing the new filter based on the registration parameters stored in the registry;
dynamically loading the new filter into the filter graph during the processing of the data stream through the filter graph in response to the instruction received from the user;
after dynamically loading the new filter into the filter graph, processing the data stream through the filter graph which includes the new filter; and
communicating information represented by the data stream to the user via the media player.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are described for registering a plug-in with a media player and for dynamically loading the plug-in into the media player. When a plug-in is installed for use in the media player, it calls a registration function of the media player. The registration function specifies registration parameters to be provided by the plug-in. The registration function receives the registration parameters passed from the plug-in and stores them in a registry of the operating system in a specified format in the registry that enables the media player to recognize and load the plug-in if called to do so. The media player dynamically loads plug-ins in a manner that provides a seamless media presentation experience for a user.
23 Citations
29 Claims
-
1. A processor-readable storage medium comprising processor-executable instructions to be executed by one or more processors to perform a method comprising:
-
constructing a filter graph to process a data stream from a source file which is received by a media player; processing the data stream through the filter graph; receiving an instruction from a user to load a new filter into the filter graph, wherein the new filter is new to the media player and modifies data of the data stream; registering the new filter with the media player when the new filter is installed, such that the new filter can be recognized by the media player for loading based on registration parameters stored in a registry, and such that the new filter cannot subsequently be pirated for use on other types of media players; recognizing the new filter based on the registration parameters stored in the registry; dynamically loading the new filter into the filter graph during the processing of the data stream through the filter graph in response to the instruction received from the user; after dynamically loading the new filter into the filter graph, processing the data stream through the filter graph which includes the new filter; and communicating information represented by the data stream to the user via the media player. - View Dependent Claims (2, 3, 4)
-
-
5. A processor-readable storage medium comprising processor-executable instructions to be executed by one or more processors to perform a method comprising:
-
constructing a filter graph to process a data stream from a source file which is received by a media player; processing the data stream through the filter graph; receiving an instruction from a user to load a new filter into the filter graph, wherein the new filter modifies the data of the data stream; receiving a call to register a plug-in when the new filter is installed, such that the new filter can be recognized by the media player for loading based on registration parameters stored in a registry, and such that the new filter cannot subsequently be pirated for use on other types of media players; and in accordance with the call, receiving a set of registration parameters comprising; a pwszFriendlyName parameter designating a name for the plug-in; a pwszDescription parameter designating a description of the plug-in; a pwszUninstallString parameter designating an uninstall string for uninstalling the plug-in; a dwPriority parameter designating an integer value containing a priority position of the plug-in in a chain of currently enabled plug-ins; a guidPluginType parameter designating a globally unique identifier that specifies a type for the plug-in; a Clsid parameter designating a class identifier of the plug-in; a cMediaType parameter designating a count of media types supported by the plug-in; and a pMediaType parameter designating a pointer to an array of media types that enumerates supported media types for the plug-in; registering the new filter with the media player using the set of registration parameters; recognizing the new filter based on the registration parameters stored in the registry; dynamically loading the new filter into the filter graph during the processing of the data stream through the filter graph in response to the instruction received from the user; after dynamically loading the new filter into the filter graph, processing the data stream through the filter graph which includes the new filter; and communicating information represented by the data stream to the user via the media player. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method comprising:
-
receiving streaming data at a media player; constructing a filter graph based on a data type of the streaming data received at the media player, wherein the streaming data is in a format know to the media player; processing the streaming data through the filter graph; receiving an instruction from a user to load a new filter into the filter graph, wherein the new filter is new to the media player and modifies the streaming data; registering the new filter with the media player when the new filter is installed, such that the new filter can be recognized by the media player for loading based on registration parameters stored in a registry, and such that the new filter cannot subsequently be pirated for use on other types of media players; recognizing the new filter based on the registration parameters stored in the registry; dynamically loading the new filter into the filter graph during the processing of the streaming data through the filter graph in response to the instruction received from the user; after dynamically loading the new filter into the filter graph, processing the data stream through the filter graph which includes the new filter; and communicating information represented by the data stream to the user via the media player. - View Dependent Claims (17, 18, 19)
-
-
20. A computer comprising:
-
one or more processors; a registration function which executes on the one or more processors to receive a set of registration parameters from a filter plug-in which has been selected by a user for use in processing a data stream, the registration parameters comprising; a pwszFriendlyName parameter designating a name for the plug-in; a pwszDescription parameter designating a description of the plug-in; a pwszUninstallString parameter designating an uninstall string for uninstalling the plug-in; a dwPriority parameter designating an integer value containing a priority position of the plug-in in a chain of currently enabled plug-ins; a guidPluginType parameter designating a globally unique identifier that specifies a type for the plug-in; a Clsid parameter designating a class identifier of the plug-in; a cMediaType parameter designating a count of media types supported by the plug-in; and a pMediaType parameter designating a pointer to an array of media types that enumerates supported media types for the plug-in. - View Dependent Claims (21, 22, 23, 24, 25)
-
-
26. A computer comprising:
-
means for constructing a filter graph to process a data stream from a source file which is received by a media player; means for processing the data stream through the filter graph; means for receiving an instruction from a user to load a new filter into the filter graph, wherein the new filter is new to the media player and modifies the data of the data stream; means for registering the new filter with the media player when the new filter is installed, such that the new filter can be recognized by the media player for loading based on registration parameters stored in a registry, and such that the new filter can not subsequently be pirated for use on other types of media players; means for recognizing the new filter based on the registration parameters stored in the registry; and means for dynamically loading the new filter into the filter graph during the processing of the data stream through the filter graph in response to the instruction received from the user; means for processing the data stream through the filter graph which includes the new filter; and means for communicating information represented by the data stream to the user via the media player. - View Dependent Claims (27, 28, 29)
-
Specification