summaryrefslogtreecommitdiff
path: root/indra/media_plugins
diff options
context:
space:
mode:
authorTofu Linden <tofu.linden@lindenlab.com>2010-02-22 14:15:15 +0000
committerTofu Linden <tofu.linden@lindenlab.com>2010-02-22 14:15:15 +0000
commit235023d71122bce1fc3eadd90d8dc75cc5612f78 (patch)
treecb6e0b0fe5630c29c9b216984f26ea34401c7daa /indra/media_plugins
parentdf43c0e18b852fb1490cf9199b7766239cd2801c (diff)
document the linux_volume_catcher high-level design
Diffstat (limited to 'indra/media_plugins')
-rw-r--r--indra/media_plugins/webkit/linux_volume_catcher.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/indra/media_plugins/webkit/linux_volume_catcher.cpp b/indra/media_plugins/webkit/linux_volume_catcher.cpp
index 89cababdd8..024235717b 100644
--- a/indra/media_plugins/webkit/linux_volume_catcher.cpp
+++ b/indra/media_plugins/webkit/linux_volume_catcher.cpp
@@ -31,6 +31,15 @@
* @endcond
*/
+/*
+ The high-level design is as follows:
+ 1) Connect to the PulseAudio daemon
+ 2) Watch for the creation of new audio players connecting to the daemon (this includes ALSA clients running on the PulseAudio emulation layer, such as Flash plugins)
+ 3) Examine the audio player's PID to see if it belongs to our own process
+ 4) If so, tell PA to adjust the volume of that audio player ('sink input' in PA parlance)
+ 5) Keep a list of all living audio players that we care about, adjust the volumes of all of them when we get a new setVolume() call
+ */
+
#include "linden_common.h"
#include <glib.h>