Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The RDK requires only the "base" and "good" plugin sets. Additionally some SOC-specific plugins plugins may be required for hardware-accelerated audio/video playback.

Component Interactions

...

draw.io Diagram
diagramNameGstreamer-subsystem-component-Interaction.drawio
revision1

Exported APIs

Applications can interact with GStreamer by using a GObject-based API, which implements basic object-oriented programming using pure C language. This is similar to what is used in all Gnome-based components such as Glib or GTK+.

...

RDK Media Framework (RMF) uses gstreamer GStreamer as a playback mechanism for various types of media available on CPE devices.  RMF RMF acts as primary application for managing gstreamer GStreamer based playback. RMF, with help of gstreamer can be used to play linear QAM video, Home Network Content, HTTP Dynamic/Live/Smooth Streaming and other media streams.

RMF makes use of gstreamer elements.  Constructing an RMF media pipeline by connecting various RMF elements results in the formation of a gstreamer pipeline made up of the gstreamer elements used to implement each RMF element.

Comcast has released Gstreamer Requirements Specification which details on the requirements of gstreamer plugins to be used by RMF module. The document can  be found here:  RDK GStreamer Guidelines.pdf describes the guidelines for GStreamer plugins on CPE devices which support RDK Media Framework.

RDK GStreamer Plugins

Based on the device type and capabilities RMF requires the support of several GStreamer plug-in elements.

...

An RMF pipeline of hnsource → playersinkbin will invoke the following gstreamer pipeline of httpsrc → playersinkbin

draw.io Diagram
diagramNameSample Gstreamer Pipeline in RDK.drawio
revision1

AAMP

AAMP (Advance Adaptive Media Player) is an application which uses gstreamer to present IP Video Streams.This player is built on top of GStreamer framework and is capable of playing Apple HLS & MPEG DASH contents over IP.

AAMP as a Plugin

  • Enables HTML5 based playback
  • WebKit manages the GStreamer pipeline
  • AAMPs GStreamer plugin ‘Gstaamp’ is loaded in the GStreamer pipeline
  • The ‘Gstaamp’ creates AAMP player instance
  • Audio /Video buffers are pushed to ‘Gstaamp’s srcpads

draw.io Diagram
diagramNameAAMP2.drawio
pageId59015295
Image Removed