summaryrefslogtreecommitdiff
path: root/indra/media_plugins/cef/linux
diff options
context:
space:
mode:
authorNicky <nicky.dasmijn@posteo.nl>2024-05-22 13:20:39 +0200
committerNicky <nicky.dasmijn@posteo.nl>2024-05-22 13:20:39 +0200
commit7d62d0c5752814f27a17c86618f628d0e4ff9b0d (patch)
tree93d0371cb8be6a892947c24087083b6faee249b3 /indra/media_plugins/cef/linux
parent91fcae72aa8a5c6c02a08f8fa582880ca5cf72c2 (diff)
Move Linux specific VolumeCatcherImport into the linux specific files.
Diffstat (limited to 'indra/media_plugins/cef/linux')
-rw-r--r--indra/media_plugins/cef/linux/volume_catcher_linux.cpp12
-rw-r--r--indra/media_plugins/cef/linux/volume_catcher_linux.h26
2 files changed, 25 insertions, 13 deletions
diff --git a/indra/media_plugins/cef/linux/volume_catcher_linux.cpp b/indra/media_plugins/cef/linux/volume_catcher_linux.cpp
index b4d20935e7..7d33242063 100644
--- a/indra/media_plugins/cef/linux/volume_catcher_linux.cpp
+++ b/indra/media_plugins/cef/linux/volume_catcher_linux.cpp
@@ -1,4 +1,4 @@
-/**
+/**
* @file volume_catcher.cpp
* @brief Linux volume catcher which will pick an implementation to use
*
@@ -6,21 +6,21 @@
* $LicenseInfo:firstyear=2010&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2010, Linden Research, Inc.
- *
+ *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
- *
+ *
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
- *
+ *
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
+ *
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
* @endcond
@@ -28,8 +28,6 @@
#include "volume_catcher_linux.h"
-////////////////////////////////////////////////////
-
VolumeCatcher::VolumeCatcher()
{
}
diff --git a/indra/media_plugins/cef/linux/volume_catcher_linux.h b/indra/media_plugins/cef/linux/volume_catcher_linux.h
index ff00d0672e..9101575b70 100644
--- a/indra/media_plugins/cef/linux/volume_catcher_linux.h
+++ b/indra/media_plugins/cef/linux/volume_catcher_linux.h
@@ -1,26 +1,26 @@
-/**
+/**
* @file volume_catcher_impl.h
- * @brief
+ * @brief
*
* @cond
* $LicenseInfo:firstyear=2010&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2010, Linden Research, Inc.
- *
+ *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
- *
+ *
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
- *
+ *
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
+ *
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
* @endcond
@@ -49,6 +49,20 @@ extern "C" {
#include "media_plugin_base.h"
+class VolumeCatcherImpl
+{
+public:
+ virtual ~VolumeCatcherImpl() = default;
+
+ virtual void setVolume(F32 volume) = 0; // 0.0 - 1.0
+
+ // Set the left-right pan of audio sources
+ // where -1.0 = left, 0 = center, and 1.0 = right
+ virtual void setPan(F32 pan) = 0;
+
+ virtual void pump() = 0; // call this at least a few times a second if you can - it affects how quickly we can 'catch' a new audio source and adjust its volume
+};
+
class VolumeCatcherPulseAudio : public VolumeCatcherImpl
{
public: