Customizable media player framework
AssigneeAmazon Technologies, Inc.
InventorAneeb Naveed Qureshi
Life of this patent
Estimating the term…
Abstract
Disclosed are various embodiments for a media player customization application. A media player framework defines basic functionality to render media items. Plugins may be added to the media player framework to implement desired functionality. The plugin model allows for a media player to minimize file sizes by only included required functionality.
Claims20
A non-transitory computer-readable medium having a plurality of computer instructions executable by at least one computing device, wherein, when executed, the plurality of computer instructions cause the at least one computing device to:
- select a plurality of plugins defined in a plugin profile, the plugin profile corresponding to a media item;
- determine a data size threshold for a first media player as a function of a playback length of the media item;
- select a dynamically generated first subset of the plurality of plugins based at least in part on the data size threshold associated with the first media player;
- add the dynamically generated first subset of the plurality of plugins to the first media player by recompiling the first subset of the plurality of plugins and the first media player;
- generate a second media player having a first data size below the data size threshold, the generation of the second media player comprises generating at least one file that includes a media player framework associated with the first media player extended to execute functionality embodied by the first subset of the plurality of plugins;
- after the second media player is generated, communicate the second media player to a client for embedding in a network page;
- after the second media player is communicated to the client, determine an amount of available network bandwidth;
- after the amount of available network bandwidth is determined, concurrent to the second media player rendering the media item, add a second subset of the plurality of plugins to the second media player, wherein the second subset of the plurality of plugins is based at least in part upon the data size threshold and the amount of available network bandwidth, thereby generating a third media player that enables functionality for another networked media service with respect to the media item in response to adding the second subset of the plurality of plugins;
- and
- wherein the second subset of the plurality of plugins comprises those of the plurality of plugins excluded from the first subset of the plurality of plugins, the second subset being excluded based at least in part upon the plugin profile indicating that the second subset may be added after the second media player is communicated to the client.
A system, comprising:
- at least one computing device;
- and
- an application executable in the at least one computing device, the application executable causing the at least one computing device to:
- determine, responsive to a request from a client for a first media player to facilitate a rendering of a media item embedded in a network content, a data size threshold for the first media player as a function of a playback length of the media item;
- select at least one plugin among a plurality of plugins based at least in part on the data size threshold and a plugin profile defining the at least one plugin;
- add the at least one plugin to the first media player by recompiling the at least one plugin and the first media player in response to selecting the at least one plugin among the plurality of plugins, the at least one plugin selected based at least in part on the data size threshold associated with the first media player;
- generate a second media player having a first data size below the data size threshold, the generation of the second media player comprises generating at least one file that includes a media player framework associated with the first media player extended to execute functionality embodied by the at least one plugin;
- after the second media player is generated, communicate an instance of the second media player to the client;
- after the second media player is communicated to the client, determine an amount of available network bandwidth;
- after the amount of available network bandwidth is determined, add a subset of a remainder of the plurality of plugins to the second media player concurrently to the second media player rendering the media item, wherein the subset of the remainder of the plurality of plugins is based at least in part upon the data size threshold and the amount of available network bandwidth, thereby generating a third media player that enables functionality for another networked media service with respect to the media item in response to adding the subset of the remainder of the plurality of plugins;
- and
- wherein the subset of the remainder of the plurality of plugins comprises those of the plurality of plugins excluded from the at least one plugin among the plurality of plugins, the subset being excluded based at least in part upon the plugin profile indicating that the subset may be added after the second media player is communicated to the client.
A method, comprising:
- selecting, in a computing device, responsive to a request from a client for a first media player to facilitate a rendering of a media item embedded in a network page, a plurality of plugins based at least in part on a plugin profile associated with the media item;
- determining, in the computing device, a data size threshold for the first media player as a function of a playback length of time of the media item;
- selecting, in the computing device, a first subset of the plurality of plugins based at least in part on a data size threshold associated with the first media player;
- adding, in the computing device, the first subset of the plurality of plugins to the first media player by recompiling the first subset of the plurality of plugins and the first media player;
- generating, in the computing device, a second media player having a first data size below the data size threshold, the generation of the second media player comprises generating at least one file that includes a media player framework associated with the first media player extended to execute functionality embodied by the first subset of the plurality of plugins;
- communicating, in the computing device, the second media player to the client;
- after communicating the second media player to the client, determining, in the computing device, an amount of available network bandwidth;
- adding, in the computing device, after determining the amount of available network bandwidth, a second subset of the plurality of plugins to the second media player, wherein the second subset of the plurality of plugins is based at least in part upon the data size threshold and the amount of available network bandwidth, thereby generating a third media player that enables functionality for another networked media service with respect to the media item in response to adding the second subset of the plurality of plugins;
- and
- wherein the second subset of the plurality of plugins comprises those of the plurality of plugins excluded from the first subset of the plurality of plugins, the second subset being excluded based at least in part upon the plugin profile indicating that the second subset may be added after the second media player is communicated to the client.
Dependencies are inferred from the claim text.