From 16ecc9d734341618299327c7699168274341a864 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 16 Sep 2024 16:38:28 +0800 Subject: WebRTC on Fedora & openSUSE without breaking CEF Thanks to the Linux x86-64 WebRTC binary from Zenichi Amano (crow-misia). https://megapahit.com/show_bug.cgi?id=64 Haven't been tested on openSUSE, but it should work. --- indra/CMakeLists.txt | 4 +- indra/cmake/WebRTC.cmake | 34 ++++++++++------- indra/llwebrtc/CMakeLists.txt | 6 +-- indra/llwebrtc/llwebrtc.cpp | 2 +- indra/llwebrtc/llwebrtc_impl.h | 13 ++++--- indra/newview/CMakeLists.txt | 8 ++-- indra/newview/llvoiceclient.cpp | 82 ++++++++++++++++++++--------------------- 7 files changed, 78 insertions(+), 71 deletions(-) diff --git a/indra/CMakeLists.txt b/indra/CMakeLists.txt index e47b70f201..25570470db 100644 --- a/indra/CMakeLists.txt +++ b/indra/CMakeLists.txt @@ -58,9 +58,9 @@ add_subdirectory(${LIBS_OPEN_PREFIX}llmessage) add_subdirectory(${LIBS_OPEN_PREFIX}llprimitive) add_subdirectory(${LIBS_OPEN_PREFIX}llrender) add_subdirectory(${LIBS_OPEN_PREFIX}llfilesystem) -if (NOT (${LINUX_DISTRO} MATCHES fedora OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed) OR CMAKE_SYSTEM_NAME MATCHES FreeBSD)) +if (NOT CMAKE_SYSTEM_NAME MATCHES FreeBSD) add_subdirectory(${LIBS_OPEN_PREFIX}llwebrtc) -endif (NOT (${LINUX_DISTRO} MATCHES fedora OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed) OR CMAKE_SYSTEM_NAME MATCHES FreeBSD)) +endif (NOT CMAKE_SYSTEM_NAME MATCHES FreeBSD) add_subdirectory(${LIBS_OPEN_PREFIX}llwindow) add_subdirectory(${LIBS_OPEN_PREFIX}llxml) diff --git a/indra/cmake/WebRTC.cmake b/indra/cmake/WebRTC.cmake index 92d9d135c6..be51957794 100644 --- a/indra/cmake/WebRTC.cmake +++ b/indra/cmake/WebRTC.cmake @@ -6,17 +6,23 @@ include_guard() add_library( ll::webrtc INTERFACE IMPORTED ) target_include_directories( ll::webrtc SYSTEM INTERFACE "${LIBS_PREBUILT_DIR}/include/webrtc" "${LIBS_PREBUILT_DIR}/include/webrtc/third_party/abseil-cpp") -if (CMAKE_OSX_ARCHITECTURES MATCHES arm64) +if (CMAKE_OSX_ARCHITECTURES MATCHES arm64 OR (${LINUX_DISTRO} MATCHES fedora) OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed)) + target_compile_definitions(ll::webrtc INTERFACE CM_WEBRTC=1) if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/webrtc_installed OR NOT ${webrtc_installed} EQUAL 0) - if (NOT EXISTS ${CMAKE_BINARY_DIR}/libwebrtc-macos-arm64.tar.xz) + if (LINUX) + set(WEBRTC_PLATFORM linux-x64) + else (LINUX) + set(WEBRTC_PLATFORM macos-arm64) + endif (LINUX) + if (NOT EXISTS ${CMAKE_BINARY_DIR}/libwebrtc-${WEBRTC_PLATFORM}.tar.xz) file(DOWNLOAD - https://github.com/crow-misia/libwebrtc-bin/releases/download/114.5735.6.1/libwebrtc-macos-arm64.tar.xz - ${CMAKE_BINARY_DIR}/libwebrtc-macos-arm64.tar.xz + https://github.com/crow-misia/libwebrtc-bin/releases/download/114.5735.6.1/libwebrtc-${WEBRTC_PLATFORM}.tar.xz + ${CMAKE_BINARY_DIR}/libwebrtc-${WEBRTC_PLATFORM}.tar.xz SHOW_PROGRESS ) - endif (NOT EXISTS ${CMAKE_BINARY_DIR}/libwebrtc-macos-arm64.tar.xz) + endif (NOT EXISTS ${CMAKE_BINARY_DIR}/libwebrtc-${WEBRTC_PLATFORM}.tar.xz) file(ARCHIVE_EXTRACT - INPUT ${CMAKE_BINARY_DIR}/libwebrtc-macos-arm64.tar.xz + INPUT ${CMAKE_BINARY_DIR}/libwebrtc-${WEBRTC_PLATFORM}.tar.xz DESTINATION ${LIBS_PREBUILT_DIR} ) file(REMOVE_RECURSE ${LIBS_PREBUILT_DIR}/include/webrtc) @@ -57,17 +63,19 @@ if (CMAKE_OSX_ARCHITECTURES MATCHES arm64) ${LIBS_PREBUILT_DIR}/lib/libwebrtc.a ${LIBS_PREBUILT_DIR}/lib/release/libwebrtc.a ) - file(REMOVE_RECURSE ${LIBS_PREBUILT_DIR}/lib/release/WebRTC.framework) - file(RENAME - ${LIBS_PREBUILT_DIR}/Frameworks/WebRTC.xcframework/macos-arm64/WebRTC.framework - ${LIBS_PREBUILT_DIR}/lib/release/WebRTC.framework - ) - file(REMOVE_RECURSE ${LIBS_PREBUILT_DIR}/Frameworks) + if (CMAKE_OSX_ARCHITECTURES MATCHES arm64) + file(REMOVE_RECURSE ${LIBS_PREBUILT_DIR}/lib/release/WebRTC.framework) + file(RENAME + ${LIBS_PREBUILT_DIR}/Frameworks/WebRTC.xcframework/${WEBRTC_PLATFORM}/WebRTC.framework + ${LIBS_PREBUILT_DIR}/lib/release/WebRTC.framework + ) + file(REMOVE_RECURSE ${LIBS_PREBUILT_DIR}/Frameworks) + endif (CMAKE_OSX_ARCHITECTURES MATCHES arm64) file(WRITE ${PREBUILD_TRACKING_DIR}/webrtc_installed "0") endif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/webrtc_installed OR NOT ${webrtc_installed} EQUAL 0) elseif (NOT CMAKE_SYSTEM_NAME MATCHES FreeBSD) use_prebuilt_binary(webrtc) -endif (CMAKE_OSX_ARCHITECTURES MATCHES arm64) +endif (CMAKE_OSX_ARCHITECTURES MATCHES arm64 OR (${LINUX_DISTRO} MATCHES fedora) OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed)) if (WINDOWS) target_link_libraries( ll::webrtc INTERFACE webrtc.lib ) diff --git a/indra/llwebrtc/CMakeLists.txt b/indra/llwebrtc/CMakeLists.txt index 21ce222aea..9f050daa77 100644 --- a/indra/llwebrtc/CMakeLists.txt +++ b/indra/llwebrtc/CMakeLists.txt @@ -28,11 +28,9 @@ list(APPEND llwebrtc_SOURCE_FILES ${llwebrtc_HEADER_FILES}) add_library (llwebrtc SHARED ${llwebrtc_SOURCE_FILES}) -if (USESYSTEMLIBS) -target_compile_definitions(llwebrtc INTERFACE LL_WEBRTC=1) -else (USESYSTEMLIBS) +if (NOT USESYSTEMLIBS) set_target_properties(llwebrtc PROPERTIES PUBLIC_HEADER llwebrtc.h) -endif (USESYSTEMLIBS) +endif (NOT USESYSTEMLIBS) if (WINDOWS) cmake_policy(SET CMP0091 NEW) diff --git a/indra/llwebrtc/llwebrtc.cpp b/indra/llwebrtc/llwebrtc.cpp index 83350dd457..9b3dde4d0f 100644 --- a/indra/llwebrtc/llwebrtc.cpp +++ b/indra/llwebrtc/llwebrtc.cpp @@ -203,7 +203,7 @@ void LLWebRTCImpl::init() mTuningDeviceModule->SetPlayoutDevice(mPlayoutDevice); mTuningDeviceModule->SetRecordingDevice(mRecordingDevice); mTuningDeviceModule->EnableBuiltInAEC(false); -#if __x86_64__ && !__FreeBSD__ +#if !CM_WEBRTC mTuningDeviceModule->SetAudioDeviceSink(this); #endif mTuningDeviceModule->InitMicrophone(); diff --git a/indra/llwebrtc/llwebrtc_impl.h b/indra/llwebrtc/llwebrtc_impl.h index 6543b2718c..7dd6154d75 100644 --- a/indra/llwebrtc/llwebrtc_impl.h +++ b/indra/llwebrtc/llwebrtc_impl.h @@ -184,9 +184,10 @@ class LLCustomProcessor : public webrtc::CustomProcessing // Primary singleton implementation for interfacing // with the native webrtc library. +#if CM_WEBRTC class LLWebRTCImpl : public LLWebRTCDeviceInterface -#if __x86_64__ && !__FreeBSD__ - , public webrtc::AudioDeviceSink +#else +class LLWebRTCImpl : public LLWebRTCDeviceInterface, public webrtc::AudioDeviceSink #endif { public: @@ -222,11 +223,11 @@ class LLWebRTCImpl : public LLWebRTCDeviceInterface // // AudioDeviceSink // - void OnDevicesUpdated() -#if __x86_64__ && !__FreeBSD__ - override +#if CM_WEBRTC + void OnDevicesUpdated(); +#else + void OnDevicesUpdated() override; #endif - ; // // Helpers diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index efa541d4cc..b0529a63f7 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -737,9 +737,9 @@ set(viewer_SOURCE_FILES pipeline.cpp ) -if (${LINUX_DISTRO} MATCHES fedora OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed) OR CMAKE_SYSTEM_NAME MATCHES FreeBSD) +if (CMAKE_SYSTEM_NAME MATCHES FreeBSD) list(REMOVE_ITEM viewer_SOURCE_FILES llvoicewebrtc.cpp) -endif (${LINUX_DISTRO} MATCHES fedora OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed) OR CMAKE_SYSTEM_NAME MATCHES FreeBSD) +endif (CMAKE_SYSTEM_NAME MATCHES FreeBSD) set(VIEWER_BINARY_NAME "secondlife-bin" CACHE STRING "The name of the viewer executable to create.") @@ -1946,9 +1946,9 @@ target_link_libraries(${VIEWER_BINARY_NAME} ll::tracy ) -if (NOT (${LINUX_DISTRO} MATCHES fedora OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed) OR CMAKE_SYSTEM_NAME MATCHES FreeBSD)) +if (NOT CMAKE_SYSTEM_NAME MATCHES FreeBSD) target_link_libraries(${VIEWER_BINARY_NAME} llwebrtc ) -endif (NOT (${LINUX_DISTRO} MATCHES fedora OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed) OR CMAKE_SYSTEM_NAME MATCHES FreeBSD)) +endif (NOT CMAKE_SYSTEM_NAME MATCHES FreeBSD) if (ENABLE_MEDIA_PLUGINS) target_link_libraries(${VIEWER_BINARY_NAME} ll::libvlc ) diff --git a/indra/newview/llvoiceclient.cpp b/indra/newview/llvoiceclient.cpp index f293c4c417..62d092e523 100644 --- a/indra/newview/llvoiceclient.cpp +++ b/indra/newview/llvoiceclient.cpp @@ -26,7 +26,7 @@ #include "llvoiceclient.h" #include "llvoicevivox.h" -#if LL_WEBRTC +#if !__FreeBSD__ #include "llvoicewebrtc.h" #endif #include "llviewernetwork.h" @@ -122,7 +122,7 @@ LLVoiceModuleInterface *getVoiceModule(const std::string &voice_server_type) { return (LLVoiceModuleInterface *) LLVivoxVoiceClient::getInstance(); } -#if LL_WEBRTC +#if !__FreeBSD__ else if (voice_server_type == WEBRTC_VOICE_SERVER_TYPE) { return (LLVoiceModuleInterface *) LLWebRTCVoiceClient::getInstance(); @@ -169,7 +169,7 @@ void LLVoiceClient::init(LLPumpIO *pump) { // Initialize all of the voice modules m_servicePump = pump; -#if LL_WEBRTC +#if !__FreeBSD__ LLWebRTCVoiceClient::getInstance()->init(pump); #endif LLVivoxVoiceClient::getInstance()->init(pump); @@ -178,7 +178,7 @@ void LLVoiceClient::init(LLPumpIO *pump) void LLVoiceClient::userAuthorized(const std::string& user_id, const LLUUID &agentID) { gAgent.addRegionChangedCallback(boost::bind(&LLVoiceClient::onRegionChanged, this)); -#if LL_WEBRTC +#if !__FreeBSD__ LLWebRTCVoiceClient::getInstance()->userAuthorized(user_id, agentID); #endif LLVivoxVoiceClient::getInstance()->userAuthorized(user_id, agentID); @@ -289,7 +289,7 @@ void LLVoiceClient::setNonSpatialVoiceModule(const std::string &voice_server_typ void LLVoiceClient::setHidden(bool hidden) { -#if LL_WEBRTC +#if !__FreeBSD__ LLWebRTCVoiceClient::getInstance()->setHidden(hidden); #endif LLVivoxVoiceClient::getInstance()->setHidden(hidden); @@ -332,7 +332,7 @@ void LLVoiceClient::updateSettings() updateMicMuteLogic(); -#if LL_WEBRTC +#if !__FreeBSD__ LLWebRTCVoiceClient::getInstance()->updateSettings(); #endif LLVivoxVoiceClient::getInstance()->updateSettings(); @@ -343,7 +343,7 @@ void LLVoiceClient::updateSettings() void LLVoiceClient::tuningStart() { -#if LL_WEBRTC +#if !__FreeBSD__ LLWebRTCVoiceClient::getInstance()->tuningStart(); #endif LLVivoxVoiceClient::getInstance()->tuningStart(); @@ -351,7 +351,7 @@ void LLVoiceClient::tuningStart() void LLVoiceClient::tuningStop() { -#if LL_WEBRTC +#if !__FreeBSD__ LLWebRTCVoiceClient::getInstance()->tuningStop(); #endif LLVivoxVoiceClient::getInstance()->tuningStop(); @@ -359,7 +359,7 @@ void LLVoiceClient::tuningStop() bool LLVoiceClient::inTuningMode() { -#if LL_WEBRTC +#if !__FreeBSD__ return LLWebRTCVoiceClient::getInstance()->inTuningMode(); #else return LLVivoxVoiceClient::getInstance()->inTuningMode(); @@ -368,7 +368,7 @@ bool LLVoiceClient::inTuningMode() void LLVoiceClient::tuningSetMicVolume(float volume) { -#if LL_WEBRTC +#if !__FreeBSD__ LLWebRTCVoiceClient::getInstance()->tuningSetMicVolume(volume); #else LLVivoxVoiceClient::getInstance()->tuningSetMicVolume(volume); @@ -377,7 +377,7 @@ void LLVoiceClient::tuningSetMicVolume(float volume) void LLVoiceClient::tuningSetSpeakerVolume(float volume) { -#if LL_WEBRTC +#if !__FreeBSD__ LLWebRTCVoiceClient::getInstance()->tuningSetSpeakerVolume(volume); #else LLVivoxVoiceClient::getInstance()->tuningSetSpeakerVolume(volume); @@ -386,7 +386,7 @@ void LLVoiceClient::tuningSetSpeakerVolume(float volume) float LLVoiceClient::tuningGetEnergy(void) { -#if LL_WEBRTC +#if !__FreeBSD__ return LLWebRTCVoiceClient::getInstance()->tuningGetEnergy(); #else return LLVivoxVoiceClient::getInstance()->tuningGetEnergy(); @@ -398,7 +398,7 @@ float LLVoiceClient::tuningGetEnergy(void) bool LLVoiceClient::deviceSettingsAvailable() { -#if LL_WEBRTC +#if !__FreeBSD__ return LLWebRTCVoiceClient::getInstance()->deviceSettingsAvailable(); #else return LLVivoxVoiceClient::getInstance()->deviceSettingsAvailable(); @@ -407,7 +407,7 @@ bool LLVoiceClient::deviceSettingsAvailable() bool LLVoiceClient::deviceSettingsUpdated() { -#if LL_WEBRTC +#if !__FreeBSD__ return LLWebRTCVoiceClient::getInstance()->deviceSettingsUpdated(); #else return LLVivoxVoiceClient::getInstance()->deviceSettingsUpdated(); @@ -416,7 +416,7 @@ bool LLVoiceClient::deviceSettingsUpdated() void LLVoiceClient::refreshDeviceLists(bool clearCurrentList) { -#if LL_WEBRTC +#if !__FreeBSD__ LLWebRTCVoiceClient::getInstance()->refreshDeviceLists(clearCurrentList); #else LLVivoxVoiceClient::getInstance()->refreshDeviceLists(clearCurrentList); @@ -426,7 +426,7 @@ void LLVoiceClient::refreshDeviceLists(bool clearCurrentList) void LLVoiceClient::setCaptureDevice(const std::string& name) { LLVivoxVoiceClient::getInstance()->setCaptureDevice(name); -#if LL_WEBRTC +#if !__FreeBSD__ LLWebRTCVoiceClient::getInstance()->setCaptureDevice(name); #endif } @@ -434,14 +434,14 @@ void LLVoiceClient::setCaptureDevice(const std::string& name) void LLVoiceClient::setRenderDevice(const std::string& name) { LLVivoxVoiceClient::getInstance()->setRenderDevice(name); -#if LL_WEBRTC +#if !__FreeBSD__ LLWebRTCVoiceClient::getInstance()->setRenderDevice(name); #endif } const LLVoiceDeviceList& LLVoiceClient::getCaptureDevices() { -#if LL_WEBRTC +#if !__FreeBSD__ return LLWebRTCVoiceClient::getInstance()->getCaptureDevices(); #else return LLVivoxVoiceClient::getInstance()->getCaptureDevices(); @@ -451,7 +451,7 @@ const LLVoiceDeviceList& LLVoiceClient::getCaptureDevices() const LLVoiceDeviceList& LLVoiceClient::getRenderDevices() { -#if LL_WEBRTC +#if !__FreeBSD__ return LLWebRTCVoiceClient::getInstance()->getRenderDevices(); #else return LLVivoxVoiceClient::getInstance()->getRenderDevices(); @@ -464,7 +464,7 @@ const LLVoiceDeviceList& LLVoiceClient::getRenderDevices() void LLVoiceClient::getParticipantList(std::set &participants) const { -#if LL_WEBRTC +#if !__FreeBSD__ LLWebRTCVoiceClient::getInstance()->getParticipantList(participants); #endif LLVivoxVoiceClient::getInstance()->getParticipantList(participants); @@ -472,7 +472,7 @@ void LLVoiceClient::getParticipantList(std::set &participants) const bool LLVoiceClient::isParticipant(const LLUUID &speaker_id) const { -#if LL_WEBRTC +#if !__FreeBSD__ return LLWebRTCVoiceClient::getInstance()->isParticipant(speaker_id) || #else return @@ -569,7 +569,7 @@ void LLVoiceClient::activateSpatialChannel(bool activate) bool LLVoiceClient::isCurrentChannel(const LLSD& channelInfo) { -#if LL_WEBRTC +#if !__FreeBSD__ return LLWebRTCVoiceClient::getInstance()->isCurrentChannel(channelInfo) || #else return @@ -579,7 +579,7 @@ bool LLVoiceClient::isCurrentChannel(const LLSD& channelInfo) bool LLVoiceClient::compareChannels(const LLSD &channelInfo1, const LLSD &channelInfo2) { -#if LL_WEBRTC +#if !__FreeBSD__ return LLWebRTCVoiceClient::getInstance()->compareChannels(channelInfo1, channelInfo2) || #else return @@ -625,7 +625,7 @@ LLVoiceP2POutgoingCallInterface *LLVoiceClient::getOutgoingCallInterface(const L void LLVoiceClient::setVoiceVolume(F32 volume) { -#if LL_WEBRTC +#if !__FreeBSD__ LLWebRTCVoiceClient::getInstance()->setVoiceVolume(volume); #endif LLVivoxVoiceClient::getInstance()->setVoiceVolume(volume); @@ -633,7 +633,7 @@ void LLVoiceClient::setVoiceVolume(F32 volume) void LLVoiceClient::setMicGain(F32 gain) { -#if LL_WEBRTC +#if !__FreeBSD__ LLWebRTCVoiceClient::getInstance()->setMicGain(gain); #endif LLVivoxVoiceClient::getInstance()->setMicGain(gain); @@ -682,7 +682,7 @@ bool LLVoiceClient::voiceEnabled() void LLVoiceClient::setVoiceEnabled(bool enabled) { -#if LL_WEBRTC +#if !__FreeBSD__ LLWebRTCVoiceClient::getInstance()->setVoiceEnabled(enabled); #endif LLVivoxVoiceClient::getInstance()->setVoiceEnabled(enabled); @@ -704,7 +704,7 @@ void LLVoiceClient::updateMicMuteLogic() // Either of these always overrides any other PTT setting. new_mic_mute = true; } -#if LL_WEBRTC +#if !__FreeBSD__ LLWebRTCVoiceClient::getInstance()->setMuteMic(new_mic_mute); #endif LLVivoxVoiceClient::getInstance()->setMuteMic(new_mic_mute); @@ -801,7 +801,7 @@ bool LLVoiceClient::getVoiceEnabled(const LLUUID& id) const std::string LLVoiceClient::getDisplayName(const LLUUID& id) const { -#if LL_WEBRTC +#if !__FreeBSD__ std::string result = LLWebRTCVoiceClient::getInstance()->getDisplayName(id); if (result.empty()) { @@ -815,7 +815,7 @@ std::string LLVoiceClient::getDisplayName(const LLUUID& id) const bool LLVoiceClient::isVoiceWorking() const { -#if LL_WEBRTC +#if !__FreeBSD__ return LLVivoxVoiceClient::getInstance()->isVoiceWorking() || LLWebRTCVoiceClient::getInstance()->isVoiceWorking(); #else @@ -835,7 +835,7 @@ bool LLVoiceClient::isOnlineSIP(const LLUUID& id) bool LLVoiceClient::getIsSpeaking(const LLUUID& id) { -#if LL_WEBRTC +#if !__FreeBSD__ return LLWebRTCVoiceClient::getInstance()->getIsSpeaking(id) || #else return @@ -847,7 +847,7 @@ bool LLVoiceClient::getIsModeratorMuted(const LLUUID& id) { // don't bother worrying about p2p calls, as // p2p calls don't have mute. -#if LL_WEBRTC +#if !__FreeBSD__ return LLWebRTCVoiceClient::getInstance()->getIsModeratorMuted(id) || #else return @@ -857,7 +857,7 @@ bool LLVoiceClient::getIsModeratorMuted(const LLUUID& id) F32 LLVoiceClient::getCurrentPower(const LLUUID& id) { -#if LL_WEBRTC +#if !__FreeBSD__ return std::fmax(LLVivoxVoiceClient::getInstance()->getCurrentPower(id), LLWebRTCVoiceClient::getInstance()->getCurrentPower(id)); #else @@ -874,7 +874,7 @@ bool LLVoiceClient::getOnMuteList(const LLUUID& id) F32 LLVoiceClient::getUserVolume(const LLUUID& id) { -#if LL_WEBRTC +#if !__FreeBSD__ return std::fmax(LLVivoxVoiceClient::getInstance()->getUserVolume(id), LLWebRTCVoiceClient::getInstance()->getUserVolume(id)); #else return LLVivoxVoiceClient::getInstance()->getUserVolume(id); @@ -883,7 +883,7 @@ F32 LLVoiceClient::getUserVolume(const LLUUID& id) void LLVoiceClient::setUserVolume(const LLUUID& id, F32 volume) { -#if LL_WEBRTC +#if !__FreeBSD__ LLWebRTCVoiceClient::getInstance()->setUserVolume(id, volume); #endif LLVivoxVoiceClient::getInstance()->setUserVolume(id, volume); @@ -895,7 +895,7 @@ void LLVoiceClient::setUserVolume(const LLUUID& id, F32 volume) void LLVoiceClient::addObserver(LLVoiceClientStatusObserver* observer) { LLVivoxVoiceClient::getInstance()->addObserver(observer); -#if LL_WEBRTC +#if !__FreeBSD__ LLWebRTCVoiceClient::getInstance()->addObserver(observer); #endif } @@ -906,7 +906,7 @@ void LLVoiceClient::removeObserver(LLVoiceClientStatusObserver* observer) { LLVivoxVoiceClient::getInstance()->removeObserver(observer); } -#if LL_WEBRTC +#if !__FreeBSD__ if (LLWebRTCVoiceClient::instanceExists()) { LLWebRTCVoiceClient::getInstance()->removeObserver(observer); @@ -917,7 +917,7 @@ void LLVoiceClient::removeObserver(LLVoiceClientStatusObserver* observer) void LLVoiceClient::addObserver(LLFriendObserver* observer) { LLVivoxVoiceClient::getInstance()->addObserver(observer); -#if LL_WEBRTC +#if !__FreeBSD__ LLWebRTCVoiceClient::getInstance()->addObserver(observer); #endif } @@ -928,7 +928,7 @@ void LLVoiceClient::removeObserver(LLFriendObserver* observer) { LLVivoxVoiceClient::getInstance()->removeObserver(observer); } -#if LL_WEBRTC +#if !__FreeBSD__ if (LLWebRTCVoiceClient::instanceExists()) { LLWebRTCVoiceClient::getInstance()->removeObserver(observer); @@ -939,7 +939,7 @@ void LLVoiceClient::removeObserver(LLFriendObserver* observer) void LLVoiceClient::addObserver(LLVoiceClientParticipantObserver* observer) { LLVivoxVoiceClient::getInstance()->addObserver(observer); -#if LL_WEBRTC +#if !__FreeBSD__ LLWebRTCVoiceClient::getInstance()->addObserver(observer); #endif } @@ -950,7 +950,7 @@ void LLVoiceClient::removeObserver(LLVoiceClientParticipantObserver* observer) { LLVivoxVoiceClient::getInstance()->removeObserver(observer); } -#if LL_WEBRTC +#if !__FreeBSD__ if (LLWebRTCVoiceClient::instanceExists()) { LLWebRTCVoiceClient::getInstance()->removeObserver(observer); @@ -1018,7 +1018,7 @@ class LLViewerRequiredVoiceVersion : public LLHTTPNode { voiceModule = (LLVoiceModuleInterface *) LLVivoxVoiceClient::getInstance(); } -#if LL_WEBRTC +#if !__FreeBSD__ else if (voice_server_type == "webrtc") { voiceModule = (LLVoiceModuleInterface *) LLWebRTCVoiceClient::getInstance(); -- cgit v1.2.3