Media processing methods, systems and application program interfaces
First Claim
1. A system comprising:
- first and second computing devices; and
a media engine distributed among and implemented in the first and second computing devices and configured to communicatively interact with an application of the second computing device to present a presentation on the second computing device, the first and second computing devices being remote from each other,the media engine implemented in the first computing device being configured to;
use one or more media sources individual ones of which serving as a source of media content; and
first partially resolve a topology that is to be utilized to present the presentation, and then cause a full topology to be resolved and activated,distribute the full topology to the second computing device, andthe media engine implemented in the second computing device being configured to use;
one or more transforms linked to the full topology, communicatively linked with one or more media sources, and configured to operate on data received from the one or more media sources; and
one or more media sinks configured to sink a media stream.
2 Assignments
0 Petitions
Accused Products
Abstract
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 used 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.
189 Citations
82 Claims
-
1. A system comprising:
-
first and second computing devices; and a media engine distributed among and implemented in the first and second computing devices and configured to communicatively interact with an application of the second computing device to present a presentation on the second computing device, the first and second computing devices being remote from each other, the media engine implemented in the first computing device being configured to; use one or more media sources individual ones of which serving as a source of media content; and first partially resolve a topology that is to be utilized to present the presentation, and then cause a full topology to be resolved and activated, distribute the full topology to the second computing device, and the media engine implemented in the second computing device being configured to use; one or more transforms linked to the full topology, communicatively linked with one or more media sources, and configured to operate on data received from the one or more media sources; and one or more media sinks configured to sink a media stream. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A system comprising:
-
first and second computing devices; and a media engine distributed among and implemented in the first and second computing devices and configured to communicatively interact with an application of the second computing device to present a presentation on the second computing device, the first and second computing devices being remote from each other, the media engine being configured to a provide plurality of open methods that can be called by the application to specify data sources in different manners, the media engine implemented in the first computing device being configured to; use one or more media sources individual ones of which serving as a source of media content; and first partially resolve a topology that is to be utilized to present the presentation, and then cause a full topology to be resolved and activated, distribute the full topology to the second computing device, and the media engine implemented in the second computing device being configured to use; one or more transforms linked to the full topology, communicatively linked with one or more media sources, and configured to operate on data received from the one or more media sources; and one or more media sinks configured to sink a media stream. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56)
-
-
57. A system comprising:
-
first and second computing devices; and a media engine distributed among and implemented in the first and second computing devices and configured to communicatively interact with an application of the second computing device to present a presentation, the media engine being configured to use a media session, the media engine and the media session configured to present the presentation on the second computing device, the first and second computing devices being remote from each other, the media engine implemented in the first computing device being configured to; use one or more media sources individual ones of which serving as a source of media content; and first partially resolve a topology that is to be utilized to present the presentation, and then cause a full topology to be resolved and activated, distribute the full topology to the second computing device, and the media engine implemented in the second computing device being configured to use; one or more transforms linked to the full topology, communicatively linked with one or more media sources, and configured to operate on data received from the one or more media sources; and one or more media sinks configured to sink a media stream. - View Dependent Claims (58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79)
-
-
80. A system comprising:
-
first and second computing devices; and a media engine distributed among and implemented in the first and second computing devices and configured to communicatively interact with an application of the second computing device to present a presentation, the media engine being configured to use a media session, the media engine and the media session configured to present the presentation on the second computing device, the first and second computing devices being remote from each other, the media session being configured to use at least one media processor, one or more bit pumps communicatively linked with the media processor, and one or more media sinks communicatively linked with respective bit pumps, the media processor being configured to use one or more media sources and one or more transforms communicatively linked with one or more media sources and configured to operate on data received from the one or more media sources, the media engine implemented in the first computing device being configured to; use the one or more media sources, individual ones of which serving as a source of media content; and first partially resolve a topology that is to be utilized to present the presentation, and then cause a full topology to be resolved and activated, distribute the full topology to the second computing device, and the media engine implemented in the second computing device being configured to use; the one or more transforms, which are linked to the full topology, communicatively linked with one or more media sources, and configured to operate on data received from the one or more media sources; and the one or more media sinks, which are configured to sink a media stream. - View Dependent Claims (81, 82)
-
Specification