Method and apparatus for providing plug in media decoders
First Claim
1. A method of providing a plug-in decoder comprising:
- initiating a data acquisition request for data, said data acquisition request initiated by an application;
downloading said data from a source location on a network, said data to be processed by said application;
determining a data type of said data by extracting header information from said data;
determining a plug-in component associated with said data type;
searching for said plug-in component;
obtaining said plug-in component; and
loading said plug-in component into transient memory for use by said application for a transient duration.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for providing plug-in media decoders. Embodiments provide a “plug-in” decoder architecture that allows software decoders to be transparently downloaded, along with media data. User applications are able to support new media types as long as the corresponding plug-in decoder is available with the media data. Persistent storage requirements are decreased because the downloaded decoder is transient, existing in application memory for the duration of execution of the user application. The architecture also supports use of plug-in decoders already installed in the user computer. One embodiment is implemented with object-based class files executed in a virtual machine to form a media application. A media data type is determined from incoming media data, and used to generate a class name for a corresponding codec (coder-decoder) object. A class path vector is searched, including the source location of the incoming media data, to determine the location of the codec class file for the given class name. When the desired codec class file is located, the virtual machine'"'"'s class loader loads the class file for integration into the media application. If the codec class file is located across the network at the source location of the media data, the class loader downloads the codec class file from the network. Once the class file is loaded into the virtual machine, an instance of the codec class is created within the media application to decode/decompress the media data as appropriate for the media data type.
291 Citations
27 Claims
-
1. A method of providing a plug-in decoder comprising:
-
initiating a data acquisition request for data, said data acquisition request initiated by an application;
downloading said data from a source location on a network, said data to be processed by said application;
determining a data type of said data by extracting header information from said data;
determining a plug-in component associated with said data type;
searching for said plug-in component;
obtaining said plug-in component; and
loading said plug-in component into transient memory for use by said application for a transient duration. - View Dependent Claims (2, 3, 4)
determining a path name of said source location from a class path vector; and
searching a directory at said source location using said path name.
-
-
4. The method of claim 1, wherein said steps of searching for said plug-in component and loading said plug-in component are implemented within at least one method of an instance of a factory class, said at least one method being invoked by said application.
-
5. A computer program product comprising:
-
a computer usable medium having computer readable program code embodied therein for providing a plug-in component, said computer program product comprising;
computer readable program code configured to initiate a data acquisition request for data, said data acquisition request initiated by an application;
computer readable program code configured to cause a computer to download said data from a source location on a network to be processed by said application;
computer readable program code configured to cause a computer to determine a data type of said data;
computer readable program code configured to cause a computer to determine a plug-in component associated with said data type by extracting header information from said data;
computer readable program code configured to cause a computer to search for said plug-in component; and
computer readable program code configured to cause a computer load said plug-in component into transient memory for use by said application for a transient duration. - View Dependent Claims (6, 7, 8, 9)
computer readable program code configured to cause a computer to determine a path name of said source location from a class path vector; and
computer readable program code configured to cause a computer to search a directory at said source location based on said path name.
-
-
10. A computer data signal embodied in a carrier wave and representing sequences of instructions which, when executed by a processor, cause said processor to provide plug-in components by performing the steps of:
-
initiating a data acquisition request for data, said data acquisition request initiated by an application residing at a destination location;
downloading said data from a source location;
determining a data type of said data by extracting header information from said data;
determining a plug-in component associated with said data type;
searching for said plug-in component, said search comprising a search of a persistent storage at said source location;
obtaining said plug-in component;
loading said plug-in component into transient memory at said destination location for use by said application. - View Dependent Claims (11, 12, 13, 14)
determining a path name of said source location from a class path vector; and
searching a directory at said source location based on said path name.
-
-
15. A method of providing a plug-in component comprising:
-
executing an application on a first computer having transient memory, said application configured to initiate a data acquisition request for data having a data type;
downloading said data from a second computer;
determining said data type of said data by extracting header information from said data;
searching for a plug-in component capable of processing said data type;
obtaining said plug-in component for use by said application;
loading said plug-in component into said transient memory of said first computer for a transient duration. - View Dependent Claims (16, 17)
determining a path name from a class path vector; and
searching a directory for said plug-in component using said path name.
-
-
17. The method of claim 15, wherein said steps of searching for said plug-in component and loading said plug-in component are implemented within at least one method of an instance of a factory class, said at least one method being invoked by said application.
-
18. A method of providing a plug-in decoder comprising:
-
initiating a data acquisition request for data, said data acquisition request initiated by an application;
downloading said data from a source location on a network, said data to be processed by said application;
determining a data type of said data by extracting header information from said data;
determining a plug-in component associated with said data type;
searching for said plug-in component;
obtaining said plug-in component; and
loading said plug-in component into said application. - View Dependent Claims (19, 20, 21)
determining a path name of said source location from a class path vector; and
searching a directory at said source location using said path name.
-
-
21. The method of claim 18, wherein said steps of searching for said plug-in component and loading said plug-in component are implemented within at least one method of an instance of a factory class, said at least one method being invoked by said application.
-
22. A computer program product comprising:
-
a computer usable medium having computer readable program code embodied therein for providing a plug-in component, said computer program product comprising;
computer readable program code configured to initiate a data acquisition request for data, said data acquisition request initiated by an application;
computer readable program code configured to cause a computer to download said data from a source location on a network to be processed by said application;
computer readable program code configured to cause a computer to determine a data type of said data;
computer readable program code configured to cause a computer to determine a plug-in component associated with said data type by extracting header information from said data;
computer readable program code configured to cause a computer to search for said plug-in component; and
computer readable program code configured to cause a computer load said plug-in component into said application. - View Dependent Claims (23, 24, 25, 26, 27)
computer readable program code configured to cause a computer to determine a path name of said source location from a class path vector; and
computer readable program code configured to cause a computer to search a directory at said source location based on said path name.
-
-
27. The computer program product of claim 22, wherein said computer readable program code configured to cause a computer to determine said data type comprises computer readable program code configured to cause a computer to parse header information associated with said data.
Specification