Timeline source
First Claim
Patent Images
1. A computer-implemented method comprising computer-executable instructions, the method comprising:
- examining a plurality of nodes within a media timeline, wherein;
the media timeline is for exposure over an application programming interface (API);
one or more nodes reference respective media;
dividing the media timeline into one or more presentations, wherein each presentation describes a rendering of the media for a particular interval of time, and wherein each presentation describes a collection of software components that, when executed, provides the described rendering of the media for the particular interval of time, wherein the collection of software components include a transform and comprise at least one of a timeline source configured to support dynamic changes to the media timeline, a first media source, a media session, a media engine, a source resolver, or a media sink;
generating, by a node, one or more events that dynamically change the media timeline, the dynamic change comprising adding a node to the media timeline;
communicating the one or more events to one or more nodes affected by the change to the media timeline, the communicating comprising the one or more nodes subscribing to receive the one or more events initiated by another node of the media timeline;
loading each software component described by a first collection;
executing each software component described by the first collection; and
loading each software component described by a second collection, wherein each software component that is described by the second collection is loaded during the executing of the first collection such that the first collection is available to be rendered on the output device while a second media source is loaded.
2 Assignments
0 Petitions
Accused Products
Abstract
A timeline source is described. In an implementation, a method includes examining a plurality of nodes within a media timeline, where at least two of the nodes reference respective media. The media timeline is for exposure over an API. The media timeline is divided into one or more presentations. Each presentation describes rendering of the media for a particular interval of time.
177 Citations
23 Claims
-
1. A computer-implemented method comprising computer-executable instructions, the method comprising:
-
examining a plurality of nodes within a media timeline, wherein; the media timeline is for exposure over an application programming interface (API); one or more nodes reference respective media; dividing the media timeline into one or more presentations, wherein each presentation describes a rendering of the media for a particular interval of time, and wherein each presentation describes a collection of software components that, when executed, provides the described rendering of the media for the particular interval of time, wherein the collection of software components include a transform and comprise at least one of a timeline source configured to support dynamic changes to the media timeline, a first media source, a media session, a media engine, a source resolver, or a media sink; generating, by a node, one or more events that dynamically change the media timeline, the dynamic change comprising adding a node to the media timeline; communicating the one or more events to one or more nodes affected by the change to the media timeline, the communicating comprising the one or more nodes subscribing to receive the one or more events initiated by another node of the media timeline; loading each software component described by a first collection; executing each software component described by the first collection; and loading each software component described by a second collection, wherein each software component that is described by the second collection is loaded during the executing of the first collection such that the first collection is available to be rendered on the output device while a second media source is loaded. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer-implemented method comprising computer-executable instructions, the method comprising:
-
receiving a call from an application over an API for rendering a media timeline, wherein; the media timeline includes a plurality of nodes, wherein the plurality of nodes comprises at least a parent node and a child node; two or more nodes reference respective media; the media timeline defines one or more presentations including media; rendering the media timeline to output each presentation to an output device, wherein the rendering further comprises dividing the media timeline into the one or more presentations such that each presentation describes a collection of software components utilized to render media for a particular interval of time, wherein the collection of software components include a transform and comprise at least one of a timeline source configured to support dynamic changes to the media timeline, a media source, a media session, a media engine, a source resolver, and a media sink; generating, by a node, one or more events that dynamically change the media timeline, the dynamic change comprising; adding one or more additional nodes as a child to the node; loading each software component described by a first collection; executing each software component described by the first collection; and loading each software component described by a second collection. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. One or more computer-readable storage media comprising computer executable instructions that, when executed on a computer, direct the computer to divide a media timeline into one or more presentations, wherein:
-
the media timeline is for exposure via an API to one or more applications; the media timeline includes a plurality of nodes, wherein the plurality of nodes comprises at least one node configured to generate one or more events communicated to at least one parent node and a child node, the one or more events dynamically changing the media timeline, the dynamic change comprising adding a node to the media timeline, and the communicating comprising subscribing to receive an indication of an event that affects the parent node or the child node; at least two nodes reference respective media; each presentation describes rendering of respective media to an output device for a particular interval of time, wherein each presentation describes a collection of software components that, when executed, provide the described rendering of media for the particular interval of time, and wherein the collection of software components include a transform and comprise at least one of a timeline source configured to support dynamic changes to the media timeline, a media source, a media session, a media engine, a source resolver, and a media sink; and the one or more computer-readable storage media further comprises computer executable instructions that, when executed on the computer, direct the computer to; load each software component described by a first collection; execute each software component described by the first collection; and load each software component described by a second collection. - View Dependent Claims (14, 15)
-
-
16. A system comprising:
-
a memory; a processor coupled to the memory; a plurality of media; a plurality of applications; and an infrastructure layer that; provides an API for the plurality of applications which exposes a media timeline that describes one or more presentations of the plurality of media; and manages rendering of the one or more presentations, wherein each presentation describes rendering of media to an output device for a particular interval of time, and wherein each presentation describes a collection of software components configured for dynamic loading such that the collection of software components provide the described rendering of the media for the particular interval of time, wherein the collection of software components include a transform and comprise at least one of a timeline source configured to support a dynamic changes to the media timeline, a media source, a media session, a media engine, a source resolver, and a media sink, wherein the collection of software components are loaded only when needed, the media timeline includes a plurality of nodes; at least two nodes reference respective media; and generating, by at least one node, one or more events that dynamically change the media timeline, the dynamic change comprising adding a node to the media timeline. - View Dependent Claims (17, 18)
-
-
19. A timeline source comprising computer instructions that, when executed by a computer, provide:
-
means for dividing a media timeline into one or more presentations each describing a rendering of one or more media during a particular interval of time, wherein the media timeline exposes a plurality of nodes to a plurality of applications; means for generating, by at least one node of the plurality of nodes, an event that dynamically changes the media timeline, the dynamic change comprising adding a node to the media timeline; means for communicating the event to one or more nodes affected by the change to the media timeline, the communicating comprising the one or more nodes subscribing to receive the one or more events initiated by another node of the media timeline; means for determining a topology for each presentation, wherein the topology references a collection of software components that, when executed, provides a rendering of the media; and media processor means for executing the topology for each presentation that is described by the media timeline; the topology for each presentation that is described by the media timeline. - View Dependent Claims (20, 21, 22, 23)
-
Specification