docs/random/ensonic/media-device-daemon.txt: more ideas (dbus)
[platform/upstream/gstreamer.git] / docs / random / ensonic / media-device-daemon.txt
1 $Id$
2
3 components
4 ================================================================================
5
6 - daemon process
7   - is a gstreamer appliation
8   - open physical sink, src elements
9   - prepends an adder to sinks
10   - appends an tee to sources
11   - listens to dbus, to get notified by virtual-endpoints of init/finalize
12     (the dbus notify, would also be useful for gst-editor to hook on running
13      apps)
14
15 - 4 new elements
16   - virtual-audiosink, virtual-videosink
17     virtual-audiosrc, virtual-videosrc
18   - virtual sinks establish a connection to the daemon
19   - they link to request_pads of the adder/tee elements
20   - on init and finalize they send a dbus-message
21
22 - gui app
23   - lists instances as mixing-desk like channelstrips
24   - channelstrips would contain
25     - audio
26       - volume, panorama, 3-band eq
27     - video
28       - brightness, contrast, alpha-level
29   - user can
30     - add insert-fx
31     - route channel to targets, where targets can be real sinks or more
32       virtual-sinks (sub-groups)
33   - virtual sinks need queues to decouple application processes
34
35 - interfaces
36   - expose child-elements via child-proxy
37     - then e.g. the applications volume-control could directly access the
38       channelstrip
39   - state-control (play, pause/mute)
40     - it would be useful if one app could pause/mute others
41     - think of a voip-client, if there is an incomming call, if pauses your
42       media-player, or mutes the monitoring of your recording app