summaryrefslogtreecommitdiff
path: root/indra/media_plugins
AgeCommit message (Collapse)Author
2024-08-03Revert "Build process' set up to link to Boost statically"Erik Kundiman
This reverts commit 9268fdd5b99bb8e426e7c1232916dfd909039f96.
2024-07-29Get VLC streaming to work again on macOSErik Kundiman
Somehow it wouldn't work when the libvlc dylibs linked by media_plugin_libvlc were far in Frameworks, even with all the linkages and VLC_PLUGIN_PATH set correctly. Because of this, I had to make the libvlc files redundantly copied (they're under 1 MB so we'll live with it) in llplugin just like upstream for media_plugin_libvlc to link to instead, though it seems the directory name can be anything, so I just let it be "plugins" for installation convenience using CMake. Also now the builder is assumed to not necessarily want VLC.app to be installed in /Applications, though they would need to keep the downloaded VLC disc image open.
2024-07-28Install plugins somewhere close to libvlc on macOSErik Kundiman
and without having to rename the containing folder. VLC streaming still hasn't worked (it used to) since using fixup_bundle, since switching to FMOD, since switching from SDL to Cocoa, since merging Maintenance B, so still no idea which of these is causing it.
2024-07-28Build process' set up to link to Boost staticallyErik Kundiman
on macOS and at least the one directly. Collada DOM's Boost dependency is still 1.76 in MacPorts' case, and that's why we still have Boost filesystem and system dylibs in Frameworks. On the other hand, the viewer codebase now really depends on newer Boost, in my case I can use MacPorts' 1.81. I had to switch to static because Boost 1.81 filesystem crashed for not finding the implementation of something declared using BOOST_FORCEINLINE in boost/filesystem/path.hpp. I think I know why, now. Cause the filesystem dylib that eventually got installed was the 1.76 one depended on by Collada DOM, so there was a conflict, there. For now the temporary MacPorts solution for this is to install boost181 with -no_static variant (notice the "-" there, so the static libraries are built and installed too). The rest is so hack-ish, I had to manually recreate Boost links pointing to 1.81 ones, only the ones needed, and for the libraries, only the static ones.
2024-07-10Merge branch 'main' into maint-bErik Kundiman
2024-07-10`cpack -G Bundle` instead of `make install` on MacErik Kundiman
Root project finally renamed to Megapahit, which has a nice effect of CPack: - Run preinstall target for: Megapahit CPack: - Install project: Megapahit [] but it's really because CPack Bundle file couldn't be renamed via CPACK_PACKAGE_NAME like on DEB, RPM, and FREEBSD. CPack determines its own destination root folder, which is Resources (I didn't find a way to set it to Contents). fixup_bundle is now run on the .app deep inside CPack staging folders so that the dependency copies will be included in the DMG.
2024-07-09Merge branch 'main' into maint-bErik Kundiman
2024-07-07macOS install DESTINATIONs are relative paths nowErik Kundiman
but set CMAKE_INSTALL_PREFIX to newview/Megapahit.app/Contents.
2024-07-07Fix paths to LibVLC files, they're in FrameworksErik Kundiman
Must have been residues before, they really were in llplugin/lib when I was doing the media plugin before.
2024-07-06Fix paths to CEF media plugin dependenciesErik Kundiman
Explanation just like previous commit. There's a reference fix that doesn't seem to be valid any more. First of all, the path leading to CEF framework would be wrong, and secondly, the plugin doesn't seem to link to CEF.
2024-07-06Fix paths to LibVLC media plugin dependenciesErik Kundiman
Somehow fixup_bundle misses fixing the plugins. These fixes are in effect when MacPorts is used, though it wouldn't hurt if you're using HomeBrew, it's just you'd need to add the references to the HomeBrew libraries just like the MacPorts ones.
2024-07-06Merge branch 'main' into maint-bErik Kundiman
2024-07-05`make install` on macOS copies resources to bundleErik Kundiman
Except for SLPlugin since there's already a custom command for it.
2024-07-01Get streaming to work again on FreeBSDErik Kundiman
2024-07-01Revert streaming to use LibVLC on FBSD & GNU/LinuxErik Kundiman
I couldn't make it to work with gstreamer even though everything was in place. It was already working anyway with LibVLC, and, Windows & macOS use it too, so it's actually the more cross-platform solution.
2024-07-01Get installed libmedia_plugin_gstreamer.so foundErik Kundiman
In viewer manifest the 10 suffix is removed, with CPack it might as well be named without the suffix. I haven't been able to get streaming working on FBSD, though. Maybe I need to install something.
2024-07-01Make it build for FBSD on SLv's Linux resurrectionErik Kundiman
2024-06-20Merge remote-tracking branch 'secondlife/release/maint-b' into maint-bErik Kundiman
2024-05-24Reset memorized Chromium volume and apply temporary volumeMaki
2024-05-24fix "lines starting with tabs found"AiraYumi
2024-05-22Tabs to spaces.Nicky
2024-05-22Move Linux specific VolumeCatcherImport into the linux specific files.Nicky
2024-05-22Remove obsolete member mSystemIsVistaOrHigherNicky
2024-05-16Merge tag '7.1.7-release'Erik Kundiman
source for viewer 7.1.7.8974243247
2024-05-15Merge branch 'release/maint-b' into pipewire-linux-volume-catcherMaki
2024-05-15Add missing newlines at end of fileMaki
2024-05-15Merge branch 'main' into marchcat/x-b-mergeAndrey Lihatskiy
# Conflicts: # autobuild.xml # indra/cmake/ConfigurePkgConfig.cmake # indra/cmake/ICU4C.cmake # indra/media_plugins/gstreamer010/llmediaimplgstreamer_syms.cpp # indra/media_plugins/gstreamer010/llmediaimplgstreamer_syms.h # indra/media_plugins/gstreamer010/llmediaimplgstreamertriviallogging.h # indra/media_plugins/gstreamer010/llmediaimplgstreamervidplug.cpp # indra/media_plugins/gstreamer010/llmediaimplgstreamervidplug.h # indra/media_plugins/gstreamer010/media_plugin_gstreamer010.cpp # indra/newview/llappviewerlinux_api.h # indra/newview/llappviewerlinux_api_dbus.cpp # indra/newview/llappviewerlinux_api_dbus.h # indra/newview/llfloateremojipicker.cpp # indra/newview/lloutfitslist.cpp
2024-05-13Update volume_catcher.hNicky Dasmijn
Add a virtual dtor
2024-04-29#824 Process source files in bulk: replace tabs with spaces, convert CRLF to ↵Andrey Lihatskiy
LF, and trim trailing whitespaces as needed
2024-04-26Fix null volume catcher on macOSMaki
2024-04-24Fix building for other platforms than Linux for volume catcherMaki
2024-04-22Tabs to spacesNicky
2024-04-22Replace NULL with nullptrNicky
2024-04-22Stream the volume catcher a little:Nicky
- Use LL_DEBUGS() for potential debug output. - Enclose mutex locking in their own scope, to make unlocking automatic and also limit the life time of a lock to as short as possible - Introduce mCleanupMutex to replace std::unique_lock pwLock(*this). I'm baffled using lock as a mutex like that did even compile. - Remove virtual inheritance, as it is not needed here.
2024-04-21Remove virtual inheritence for linux volume catcherMaki
2024-04-20Rework macro magic for symbol grabberMaki
2024-04-20Fix more style issues and add missing RAII lockMaki
2024-04-20Only use one impl in Linux volume catcherMaki
2024-04-20Use RAII for mutexes for PipeWire volume catcherMaki
2024-04-19Add toggle for PipeWire volume catcher, and refactoringMaki
2024-04-18Use Pulse for volume catching and add CMake variable for PipeWireMaki
2024-04-18Try getting other symbols for Pulse if it failsMaki
2024-04-17Use PipeWire for Linux volume catcherMaki
2024-04-09Update Linux media handling (#1146)Nicky Dasmijn
* Enable CEF browser for Linux * Disable the update for Linux, we don't have that one right now * Update build_linux.yaml We need libpulse-dev for volume_catcher Linux * Add linux_volum_catcher* files * Enable OpenAL for Linux-ReleaseOS * Linux: Update OpenAL * Update SDL2 * Add libsndio-dev to the dependencies. * Update CEF to an official LL version * Remove dupe of emoji_shortcodes * Reording autobuild does because it can and wants to * Linux: Disable NDOF for the time being. After updating the ndof 3P needs to be rebuilt and we do not have a fresh one from LL yet. Forcefully undefine LIB_NDOF, it gets defined in the build variables no matter if it is safe to define. * Remove wrestling with mutliarch and LIBGL_DRIVERS_PATH * Remove tcmalloc snippet, tcmalloc is a very faint bad dream of the past * Putting out a warning this viewer ran on a x64 arch and then suggesting to install 32 bit compat packages makes no sense at all * CEF resources need to be in lib * It;'s okay to warn about missing plugins * Linux: CEF keyboard handling * Remove old gstreamer 0.10 implementation * Linux DSO loading always had been very peculiar due to macro magic. At least now it is peculiar shared magic with only one implementation. * Remove -fPIC. We get that one from LL_BUILD * /proc/cpuinfo is not reliable to detrmine the max CPU clock. Try to determine this by reading "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq". Only if this fails go back to /proc/cpuinfo * Cleanup * Cleanup common linker and compiler flags, make it more obvious which flags are for which OS/compiler * Switch to correct plugin file * Install libpulse-dev for volume catcher. * And the runner needs libsndio-dev as well. * check for runner.os=='linux'. matrix.os is the full name of the image (limux-large).
2024-04-05Linux viewer (ReleaseOS) resurrection (#1099)Nicky Dasmijn
Co-authored-by: AiraYumi <aira.youme@airanyumi.net>
2024-01-18GNU/Linux internal web browserErik Kundiman
The lllibs need to be built as static libs now, otherwise SLPlugin would lose reference to gSavedSettings. The media plugins still need to be built as dynamic libs however, so they can't rely on the condition in LibraryInstall.cmake any more. Since the Megapahit viewer, when built using GCC, is using the default value for _GLIBCXX_USE_CXX11_ABI (which is 1 for the newer C++11 ABI as opposed to 0 for the older C++03 ABI), the Dullahan dependency needs to be built with the very same _GLIBCXX_USE_CXX11_ABI setting too, otherwise apr_dso would fail at loading libmedia_plugin_cef.so because of the failure to refer to the setOnConsoleMessageCallback function with strictly the same (not differing between std::__cxx11::basic_string vs. std::basic_string) parameter types. The CEF build is Spotify's, so no live streaming support, while the Dullahan package used by the viewer was built using Kokua's dullahan fork. After rebuilding it with _GLIBCXX_USE_CXX11_ABI kept at default by not overriding it in variables (from the build-variables repo), the order of the target link libraries in CEFPlugin.cmake doesn't seem to matter any more (it did before!). Now EXTERNAL_TOS can be safely omitted from GNU/Linux added compile definitions (but still used on FreeBSD).
2023-12-18Unix install sets plugin dir to system library dirErik Kundiman
because (at least) the vlc/plugins dirs are inside it in the same way it's been inside llplugin. This is so the app can find system VLC plugins. And for this, BUILD_SHARED_LIBS set on must work first on Linux (has already been working on FreeBSD), since libmedia_plugin_libvlc is a shared library (which now gets installed to system library dir too, on both OSes).
2023-12-17Bring back libvlc plugin to Linux & FreeBSDErik Kundiman
I had forgotten to keep it compiled when doing the overhaul for CEF on macOS.
2023-12-14macOS internal web browserErik Kundiman
Just untar Dullahan package manually in prebuilt libs dir.
2023-08-26CPack for packaging (when PACKAGE set to on)Erik Kundiman
Since we could use the dynamic versioning from the configuration phase of CMake, the inclusion is put in BuildVersion.cmake. Other CPACK variables are usually static so can be set when running cmake. CPack somehow doesn't pick up the DESTINATION values in ViewerInstall (slplugin & libvlc too) from UnixInstall, so they're they're partially hardcoded again there.