GStreamer plugins collection for building Dolby Lightscapes media pipeline.
⚠️ Plugins require proprietary libraries to initialize properly.
- Python 3.9 or later
- Ninja 1.7 or later
- Meson 0.58 or later
- GStreamer 1.16.2 or later
- more, see building section...
On Debian-based systems, install the following dependencies:
$ apt-get install ninja-build
$ pip3 install mesonMore on installing Meson build can be found at the Meson quickstart guide.
Get other dependencies.
$ apt-get install \
libglib2.0-dev \
libgstreamer1.0-dev \
libgstreamer-plugins-base1.0-dev \
libgstreamer1.0-0 \
gstreamer1.0-tools \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \
libjson-glib-devThen configure with Meson, and build with Ninja.
$ meson setup build
$ ninja -C build-
Install Microsoft Visual Studio 2019
-
Install Meson & Ninja
Download and install latest meson-x.y.z.msi installation package from Meson Github. source: The Absolute Beginner's Guide to Installing and Using Meson
- Install GStreamer dependencies
From the Download Gstreamer page, download and install MSVC 64-bit (VS 2019, Release CRT):
- 1.22.4 runtime installer (or newer)
- 1.22.4 development installer (or newer)
- Build & install Dolby Gstreamer plugins
⚠️ This step requires x64 Native Tools Command Prompt for VS 2019 which is installed with the Visual Studio IDE.
Open x64 Native Tools Command Prompt for VS 2019 and navigate to the root folder of your clone of the gst-lightscapes project, and execute commands:
> meson setup build
> ninja -C build
> ninja -C build install- By default, ninja installs built assets in c:\bin and c:\lib. To make them available to the Gstreamer application do:
- Add c:\bin and c:\lib to the PATH env variable.
> set PATH=%PATH%;c:\bin;c:\lib- Add c:\lib to the GST_PLUGIN_PATH env variable
> set GST_PLUGIN_PATH=c:\libYou can install GStreamer dependencies using installer from GStreamer project. or with Homebrew.
⚠️ Most people will not need to build Gstreamer from sources because the pre-build packages will be available.
GStreamer and the plugins can be built from source by using gst-build, or starting from GStreamer 1.20, GStreamer mono repo.
Install meson and ninja as instructed in the Linux,
Windows, and macOS sections above.
On Linux systems additional dependencies may be required:
$ apt-get install flex bison libmount-devClone the gst-build repository, specifying a stable version
$ git clone --depth 1 --branch 1.18.4 https://gitlab.freedesktop.org/gstreamer/gst-build.git gst-buildCopy the contents of this repository into gst-build/subprojects
$ cp -R /path/to/your/clone/gst-lightscapes gst-build/subprojectsThen build the project
$ cd gst-build
$ meson builddir -Dcustom_subprojects=gst-lightscapes -Dauto_features=disabled -Dgstreamer:tools=enabled
$ ninja -C builddirNote: On macOS, an additional -Dcpp_std=c++17 flag is needed to build the project
$ cd gst-build
$ meson builddir -Dcustom_subprojects=gst-lightscapes -Dauto_features=disabled -Dgstreamer:tools=enabled -Dcpp_std=c++17
$ ninja -C builddirThese commands will build the gst-lightscapes plugins, along with GStreamer
core, basic plugins, and tools such as gst-launch-1.0, gst-inspect-1.0 etc.
The built plugins can be found in
gst-build/builddir/subprojects/gst-lightscapes/plugins
To enter development environment run
$ ninja -C builddir devenvFirst we have to tell GStreamer where to look for the newly build plugins:
Note: On Windows, install plugins with ninja -C builddir install rather than point them via environment variable.
$ export GST_PLUGIN_PATH=/path/to/your/clone/gst-lightscapes/build/pluginsTest if GStreamer can properly retrieve information about the plugins
$ gst-inspect-1.0 dlblightning