aboutsummaryrefslogtreecommitdiffstats
path: root/python/servo/gstreamer.py
Commit message (Collapse)AuthorAgeFilesLines
* Remove UWP / Hololens supportMartin Robinson2023-07-051-28/+3
|
* Consume official GStreamer binaries on MacOSMukilan Thiyagarajan2023-05-121-16/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This PR re-enables support for the gstreamer mediastack in macOS by consuming the official binary '.pkg' files from gstreamer.freedesktop.org To maintain symmetry with other platforms, the '.pkg' files are uploaded to servo-build-deps and fetched from there using the new script 'etc/install_macos_gstreamer.sh'. Unlike the Homebrew version, the official GStreamer is distributed as a 'relocatable' framework i.e the dylibs all have @rpath-relative install names and also link to other dylibs using @rpath relative path. To address this difference the 'servo' binary needs to be patched with 'install_name_tool' to add an LC_RPATH command that sets the relative paths that the dynamic linker should search when trying to satify dependencies. In Servo's case, this will be a path relative to the 'servo' binary itself i.e '@executable_path/lib/' The additional 'lib' is due to a flaw in the gstreamer packaging where the install names of some of the dylibs have the prefix '@rpath/lib' and some of them just have '@rpath'. This PR also fixes a couple of issues present in the `mach build` process on MacOS: 1. `mach build` process was not copying transitive dependencies of servo binary but only the first level dylibs 2. `mach build` process didn't patch the links to dylibs in servo binary (and dependencies). This meant though (some) dylibs were copied to local path, the binary still loaded the dylibs from system GStreamer installation i.e homebrew instead of the copieds dylibs The build and runtime dependencies in etc/homebrew/Brewfile and etc/homebrew/Brewfile-build have also been removed in This PR. Signed-off-by: Mukilan Thiyagarajan <me@mukilan.in>
* Conditionally use certain GStreamer pluginsMartin Robinson2023-02-161-97/+112
| | | | | | | | | | | In old versions of GStreamer gstvideoconvertscale was split into two plugins, gstvideoscale and gstvideoconvert. This change makes the use of these three plugins conditional on their existence and has Windows use the two plugins from the older version of GStreamer. In addition, it starts to clean up the gstreamer.py file which is responsible for managing GStreamer libraries and plugins. This is the first change in a series of changes that seek to clean up the way these libraries are managed during the build.
* Update gst plugin for videoconvert & videoscale elementsMukilan Thiyagarajan2023-02-111-2/+1
|
* feat: fix build error on apple m1zhengrenzhe2021-04-241-12/+12
|
* Fix gstreamer packaging on mac.Josh Matthews2020-11-131-3/+5
|
* Add more gstreamer plugins to nightly builds.Josh Matthews2020-07-271-4/+25
|
* Load explicit set of gstreamer plugins on macos, and include them in the ↵Josh Matthews2020-07-161-0/+144
nightly package.