$Id$ components ================================================================================ - daemon process - is a gstreamer appliation - open physical sink, src elements - prepends an adder to sinks - appends an tee to sources - listens to dbus, to get notified by virtual-endpoints of init/finalize (the dbus notify, would also be useful for gst-editor to hook on running apps) - 4 new elements - virtual-audiosink, virtual-videosink virtual-audiosrc, virtual-videosrc - virtual sinks establish a connection to the daemon - they link to request_pads of the adder/tee elements - on init and finalize they send a dbus-message - gui app - lists instances as mixing-desk like channelstrips - channelstrips would contain - audio - volume, panorama, 3-band eq - video - brightness, contrast, alpha-level - user can - add insert-fx - route channel to targets, where targets can be real sinks or more virtual-sinks (sub-groups) - virtual sinks need queues to decouple application processes - interfaces - expose child-elements via child-proxy - then e.g. the applications volume-control could directly access the channelstrip - state-control (play, pause/mute) - it would be useful if one app could pause/mute others - think of a voip-client, if there is an incoming call, if pauses your media-player, or mutes the monitoring of your recording app