summaryrefslogtreecommitdiff
path: root/indra/llwebrtc
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llwebrtc')
-rw-r--r--indra/llwebrtc/CMakeLists.txt17
-rw-r--r--indra/llwebrtc/llwebrtc.cpp2
-rw-r--r--indra/llwebrtc/llwebrtc_impl.h8
3 files changed, 26 insertions, 1 deletions
diff --git a/indra/llwebrtc/CMakeLists.txt b/indra/llwebrtc/CMakeLists.txt
index a18b716003..939dc96dda 100644
--- a/indra/llwebrtc/CMakeLists.txt
+++ b/indra/llwebrtc/CMakeLists.txt
@@ -28,7 +28,9 @@ list(APPEND llwebrtc_SOURCE_FILES ${llwebrtc_HEADER_FILES})
add_library (llwebrtc SHARED ${llwebrtc_SOURCE_FILES})
+if (NOT USESYSTEMLIBS)
set_target_properties(llwebrtc PROPERTIES PUBLIC_HEADER llwebrtc.h)
+endif (NOT USESYSTEMLIBS)
if (WINDOWS)
cmake_policy(SET CMP0091 NEW)
@@ -56,7 +58,7 @@ elseif (DARWIN)
set_target_properties(llwebrtc PROPERTIES XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT "dwarf-with-dsym"
XCODE_ATTRIBUTE_DWARF_DSYM_FOLDER_PATH "${SYMBOLS_STAGING_DIR}/dSYMs")
endif (USE_BUGSPLAT)
-elseif (LINUX)
+elseif (NOT CMAKE_SYSTEM_NAME MATCHES FreeBSD)
target_link_libraries(llwebrtc PRIVATE ll::webrtc)
endif (WINDOWS)
@@ -74,3 +76,16 @@ ADD_CUSTOM_COMMAND(TARGET llwebrtc POST_BUILD
# Add tests
if (LL_TESTS)
endif (LL_TESTS)
+
+if (INSTALL)
+ if (DARWIN)
+ set(_LIB ../Frameworks)
+ elseif (EXISTS ${CMAKE_SYSROOT}/usr/lib/${ARCH}-linux-gnu)
+ set(_LIB lib/${ARCH}-linux-gnu)
+ elseif (EXISTS /lib64)
+ set(_LIB lib64)
+ else (DARWIN)
+ set(_LIB lib)
+ endif (DARWIN)
+ install(TARGETS ${PROJECT_NAME} DESTINATION ${_LIB})
+endif (INSTALL)
diff --git a/indra/llwebrtc/llwebrtc.cpp b/indra/llwebrtc/llwebrtc.cpp
index 0daa767766..9b3dde4d0f 100644
--- a/indra/llwebrtc/llwebrtc.cpp
+++ b/indra/llwebrtc/llwebrtc.cpp
@@ -203,7 +203,9 @@ void LLWebRTCImpl::init()
mTuningDeviceModule->SetPlayoutDevice(mPlayoutDevice);
mTuningDeviceModule->SetRecordingDevice(mRecordingDevice);
mTuningDeviceModule->EnableBuiltInAEC(false);
+#if !CM_WEBRTC
mTuningDeviceModule->SetAudioDeviceSink(this);
+#endif
mTuningDeviceModule->InitMicrophone();
mTuningDeviceModule->InitSpeaker();
mTuningDeviceModule->SetStereoRecording(false);
diff --git a/indra/llwebrtc/llwebrtc_impl.h b/indra/llwebrtc/llwebrtc_impl.h
index b93a1fdb01..99accb2c20 100644
--- a/indra/llwebrtc/llwebrtc_impl.h
+++ b/indra/llwebrtc/llwebrtc_impl.h
@@ -184,7 +184,11 @@ class LLCustomProcessor : public webrtc::CustomProcessing
// Primary singleton implementation for interfacing
// with the native webrtc library.
+#if CM_WEBRTC
+class LLWebRTCImpl : public LLWebRTCDeviceInterface
+#else
class LLWebRTCImpl : public LLWebRTCDeviceInterface, public webrtc::AudioDeviceSink
+#endif
{
public:
LLWebRTCImpl(LLWebRTCLogCallback* logCallback);
@@ -219,7 +223,11 @@ class LLWebRTCImpl : public LLWebRTCDeviceInterface, public webrtc::AudioDeviceS
//
// AudioDeviceSink
//
+#if CM_WEBRTC
+ void OnDevicesUpdated();
+#else
void OnDevicesUpdated() override;
+#endif
//
// Helpers