diff options
Diffstat (limited to 'indra/media_plugins/cef')
| -rw-r--r-- | indra/media_plugins/cef/CMakeLists.txt | 79 | ||||
| -rw-r--r-- | indra/media_plugins/cef/linux/volume_catcher_linux.cpp | 2 | ||||
| -rwxr-xr-x | indra/media_plugins/cef/linux/volume_catcher_pipewire.cpp | 4 | ||||
| -rw-r--r-- | indra/media_plugins/cef/media_plugin_cef.cpp | 16 |
4 files changed, 50 insertions, 51 deletions
diff --git a/indra/media_plugins/cef/CMakeLists.txt b/indra/media_plugins/cef/CMakeLists.txt index a815b1cf4f..4736eef420 100644 --- a/indra/media_plugins/cef/CMakeLists.txt +++ b/indra/media_plugins/cef/CMakeLists.txt @@ -37,8 +37,7 @@ if (LINUX) include(FindPipeWire) include_directories(SYSTEM ${PIPEWIRE_INCLUDE_DIRS} ${SPA_INCLUDE_DIRS}) - #message( "Building with Linux volume catcher for PipeWire and PulseAudio" ) - message( "Building with Linux volume catcher for PulseAudio" ) + message( "Building with Linux volume catcher for PipeWire and PulseAudio" ) list(APPEND media_plugin_cef_HEADER_FILES linux/volume_catcher_linux.h @@ -47,11 +46,14 @@ if (LINUX) set(LINUX_VOLUME_CATCHER linux/volume_catcher_linux.cpp linux/volume_catcher_pulseaudio.cpp - #linux/volume_catcher_pipewire.cpp + linux/volume_catcher_pipewire.cpp ) list(APPEND media_plugin_cef_SOURCE_FILES ${LINUX_VOLUME_CATCHER}) - set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--build-id -Wl,-rpath,'$ORIGIN:$ORIGIN/../../lib'") + set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--build-id") + if (${LINUX_DISTRO} MATCHES arch OR (${LINUX_DISTRO} MATCHES fedora)) + set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_RPATH};${INSTALL_PREFIX}/${_LIB}/cef) + endif () list(APPEND media_plugin_cef_LINK_LIBRARIES llwindow ) elseif (DARWIN) list(APPEND media_plugin_cef_SOURCE_FILES volume_catcher_null.cpp) @@ -72,8 +74,6 @@ add_library(media_plugin_cef ${media_plugin_cef_SOURCE_FILES} ) -#target_compile_definitions(media_plugin_cef PRIVATE USE_VOLUME_CATCHER_PW=1) - #add_dependencies(media_plugin_cef # ${MEDIA_PLUGIN_BASE_LIBRARIES} #) @@ -148,45 +148,62 @@ if (INSTALL) ) elseif (LINUX) if (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu)) - set(_LIB lib/${ARCH}-linux-gnu) + set(_LIB lib/${ARCH}-linux-gnu/${VIEWER_BINARY_NAME}) elseif (${LINUX_DISTRO} MATCHES fedora OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed) OR (${LINUX_DISTRO} MATCHES gentoo)) - set(_LIB lib${ADDRESS_SIZE}) + set(_LIB lib${ADDRESS_SIZE}/${VIEWER_BINARY_NAME}) else () - set(_LIB lib) + set(_LIB lib/${VIEWER_BINARY_NAME}) endif () if (${LINUX_DISTRO} MATCHES arch) install( - PROGRAMS - ${AUTOBUILD_INSTALL_DIR}/bin/release/chrome-sandbox - ${AUTOBUILD_INSTALL_DIR}/bin/release/dullahan_host + PROGRAMS ${AUTOBUILD_INSTALL_DIR}/bin/release/dullahan_host DESTINATION lib/${VIEWER_BINARY_NAME} - #PERMISSIONS SETUID OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE ) - else (${LINUX_DISTRO} MATCHES arch) + elseif (${LINUX_DISTRO} MATCHES fedora) + install( + PROGRAMS ${AUTOBUILD_INSTALL_DIR}/bin/release/dullahan_host + DESTINATION libexec/${VIEWER_BINARY_NAME} + ) + else () install( PROGRAMS ${AUTOBUILD_INSTALL_DIR}/bin/release/chrome-sandbox ${AUTOBUILD_INSTALL_DIR}/bin/release/dullahan_host DESTINATION libexec/${VIEWER_BINARY_NAME} - #PERMISSIONS SETUID OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE ) - endif (${LINUX_DISTRO} MATCHES arch) - install( - FILES - ${ARCH_PREBUILT_DIRS_RELEASE}/libcef.so - ${ARCH_PREBUILT_DIRS_RELEASE}/libvk_swiftshader.so - ${AUTOBUILD_INSTALL_DIR}/bin/release/snapshot_blob.bin - ${AUTOBUILD_INSTALL_DIR}/bin/release/v8_context_snapshot.bin - ${AUTOBUILD_INSTALL_DIR}/resources/chrome_100_percent.pak - ${AUTOBUILD_INSTALL_DIR}/resources/chrome_200_percent.pak - ${AUTOBUILD_INSTALL_DIR}/resources/icudtl.dat - ${AUTOBUILD_INSTALL_DIR}/resources/resources.pak - DESTINATION ${_LIB} + endif () + if (NOT (${LINUX_DISTRO} MATCHES arch OR (${LINUX_DISTRO} MATCHES fedora))) + file(MAKE_DIRECTORY ${AUTOBUILD_INSTALL_DIR}/lib/release/${VIEWER_BINARY_NAME}) + file(CREATE_LINK + "../libGLESv2.so" + "${AUTOBUILD_INSTALL_DIR}/lib/release/${VIEWER_BINARY_NAME}/libGLESv2.so" + SYMBOLIC ) - install( - DIRECTORY ${AUTOBUILD_INSTALL_DIR}/resources/locales - DESTINATION ${_LIB} + file(CREATE_LINK + "../libvulkan.so.1" + "${AUTOBUILD_INSTALL_DIR}/lib/release/${VIEWER_BINARY_NAME}/libvulkan.so.1" + SYMBOLIC + ) + install( + FILES + ${ARCH_PREBUILT_DIRS_RELEASE}/libcef.so + ${ARCH_PREBUILT_DIRS_RELEASE}/libvk_swiftshader.so + ${ARCH_PREBUILT_DIRS_RELEASE}/libEGL.so + ${ARCH_PREBUILT_DIRS_RELEASE}/v8_context_snapshot.bin + ${ARCH_PREBUILT_DIRS_RELEASE}/vk_swiftshader_icd.json + ${ARCH_PREBUILT_DIRS_RELEASE}/${VIEWER_BINARY_NAME}/libGLESv2.so + ${ARCH_PREBUILT_DIRS_RELEASE}/${VIEWER_BINARY_NAME}/libvulkan.so.1 + ${AUTOBUILD_INSTALL_DIR}/resources/chrome_100_percent.pak + ${AUTOBUILD_INSTALL_DIR}/resources/chrome_200_percent.pak + ${AUTOBUILD_INSTALL_DIR}/resources/icudtl.dat + ${AUTOBUILD_INSTALL_DIR}/resources/resources.pak + DESTINATION ${_LIB} ) + install( + DIRECTORY ${AUTOBUILD_INSTALL_DIR}/resources/locales + DESTINATION ${_LIB} + ) + endif () elseif (WINDOWS) set(_LIB llplugin) install( @@ -216,7 +233,7 @@ if (INSTALL) DESTINATION llplugin ) else () - set(_LIB lib) + set(_LIB lib/${VIEWER_BINARY_NAME}) endif () if (NOT WINDOWS) install(TARGETS ${PROJECT_NAME} DESTINATION ${_LIB}) diff --git a/indra/media_plugins/cef/linux/volume_catcher_linux.cpp b/indra/media_plugins/cef/linux/volume_catcher_linux.cpp index ba2ed1aa56..7d33242063 100644 --- a/indra/media_plugins/cef/linux/volume_catcher_linux.cpp +++ b/indra/media_plugins/cef/linux/volume_catcher_linux.cpp @@ -37,14 +37,12 @@ void VolumeCatcher::onEnablePipeWireVolumeCatcher(bool enable) if (pimpl != nullptr) return; -#if USE_VOLUME_CATCHER_PW if (enable) { LL_DEBUGS() << "volume catcher using pipewire" << LL_ENDL; pimpl = new VolumeCatcherPipeWire(); } else -#endif { LL_DEBUGS() << "volume catcher using pulseaudio" << LL_ENDL; pimpl = new VolumeCatcherPulseAudio(); diff --git a/indra/media_plugins/cef/linux/volume_catcher_pipewire.cpp b/indra/media_plugins/cef/linux/volume_catcher_pipewire.cpp index 27fea547c9..04bbbcff6c 100755 --- a/indra/media_plugins/cef/linux/volume_catcher_pipewire.cpp +++ b/indra/media_plugins/cef/linux/volume_catcher_pipewire.cpp @@ -207,7 +207,7 @@ void VolumeCatcherPipeWire::ChildNode::updateVolume() { std::lock_guard pwLock(*mImpl); - pw_node_set_param(mProxy, SPA_PARAM_Props, 0, pod); + pw_node_set_param((pw_node*)mProxy, SPA_PARAM_Props, 0, pod); } } @@ -303,7 +303,7 @@ void VolumeCatcherPipeWire::handleRegistryEventGlobal( childNode->mProxy = proxy; childNode->mImpl = this; - pw_node_add_listener(proxy, &childNode->mNodeListener, &NODE_EVENTS, childNode); + pw_node_add_listener((pw_node*)proxy, &childNode->mNodeListener, &NODE_EVENTS, childNode); llpw_proxy_add_listener(proxy, &childNode->mProxyListener, &PROXY_EVENTS, childNode); } diff --git a/indra/media_plugins/cef/media_plugin_cef.cpp b/indra/media_plugins/cef/media_plugin_cef.cpp index a2b664c755..d5ec3dbb20 100644 --- a/indra/media_plugins/cef/media_plugin_cef.cpp +++ b/indra/media_plugins/cef/media_plugin_cef.cpp @@ -957,7 +957,6 @@ void MediaPluginCEF::receiveMessage(const char* message_string) { authResponse(message_in); } -#if !LL_LINUX if (message_name == "edit_undo") { mCEFLib->editUndo(); @@ -966,7 +965,6 @@ void MediaPluginCEF::receiveMessage(const char* message_string) { mCEFLib->editRedo(); } -#endif if (message_name == "edit_cut") { mCEFLib->editCut(); @@ -979,7 +977,6 @@ void MediaPluginCEF::receiveMessage(const char* message_string) { mCEFLib->editPaste(); } -#if !LL_LINUX if (message_name == "edit_delete") { mCEFLib->editDelete(); @@ -992,7 +989,6 @@ void MediaPluginCEF::receiveMessage(const char* message_string) { mCEFLib->viewSource(); } -#endif } else if (message_class == LLPLUGIN_MESSAGE_CLASS_MEDIA_BROWSER) { @@ -1176,28 +1172,19 @@ void MediaPluginCEF::unicodeInput(std::string event, LLSD native_key_data = LLSD // void MediaPluginCEF::checkEditState() { -#if !LL_LINUX bool can_undo = mCEFLib->editCanUndo(); bool can_redo = mCEFLib->editCanRedo(); -#endif bool can_cut = mCEFLib->editCanCut(); bool can_copy = mCEFLib->editCanCopy(); bool can_paste = mCEFLib->editCanPaste(); -#if !LL_LINUX bool can_delete = mCEFLib->editCanDelete(); bool can_select_all = mCEFLib->editCanSelectAll(); -#endif -#if LL_LINUX - if ((can_cut != mCanCut) || (can_copy != mCanCopy) || (can_paste != mCanPaste)) -#else if ((can_undo != mCanUndo) || (can_redo != mCanRedo) || (can_cut != mCanCut) || (can_copy != mCanCopy) || (can_paste != mCanPaste) || (can_delete != mCanDelete) || (can_select_all != mCanSelectAll)) -#endif { LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA, "edit_state"); -#if !LL_LINUX if (can_undo != mCanUndo) { mCanUndo = can_undo; @@ -1209,7 +1196,6 @@ void MediaPluginCEF::checkEditState() mCanRedo = can_redo; message.setValueBoolean("redo", can_redo); } -#endif if (can_cut != mCanCut) { @@ -1229,7 +1215,6 @@ void MediaPluginCEF::checkEditState() message.setValueBoolean("paste", can_paste); } -#if !LL_LINUX if (can_delete != mCanDelete) { mCanDelete = can_delete; @@ -1241,7 +1226,6 @@ void MediaPluginCEF::checkEditState() mCanSelectAll = can_select_all; message.setValueBoolean("select_all", can_select_all); } -#endif sendMessage(message); } |
