Dbus ipc for gst
From Buzztard
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.



