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 encapsulated 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.