Dbus ipc for gst

From Buzztard

Jump to: navigation, search

GStreamer apps currently run 100% isolated from each other. The can be problematic when there is a need to share ressources. A second case is, that it would be nice to externaly monitor a running gst-app. DBus can be used for the ipc.

Contents

[edit] Use cases

[edit] Ressource Manager

Sources and sinks can announce that they have been openend, together with the app-name and priority (via priority_iface of the GstElement).

When a different app wants to open the ressource with same or lower priority it can tell the user, who blocks the ressource and can be notified when the ressource becomes free.

If the new app uses a higher priority (voip app overide music player), the original gets informed about lost ressource (GstBus message) and wait for the ressource to become available again.

[edit] two new GstMessages

  • RessourceLost(GstElement*)
  • RessourceReleased(GstElement*)

[edit] Src and Sink elements need changes

When receiving the RessourceLost message, close the device.

[edit] Debug Service

It would be cool to have a GstEditor like app, that can monitor running gst-apps. This includes:

  • showing running apps and select one
  • show the pipeline graph
    • for elements show name, state and pads
    • when hover over and element show tooltip with metadata of element and plugin
    • when hover over pads show caps
    • for connection show push/pull type
    • when hover over connection show negotionated caps
  • show GstBus messages
  • show GstDebug output
    • show list of components and below log-levels to the left
    • show timeline above, have markers to filter over time

This all needs dbus-services to let the monitoring app watch the gst-app.

[edit] Links

Personal tools
collaboration

SourceForge Logo

GStreamer Logo

Linux Sound Logo

MediaWiki

Valgrind

GNU Library Public Licence

GNU Free Documentation License 1.2