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 meson
More 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-dev
Then 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:\lib
You 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-dev
Clone 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-build
Copy the contents of this repository into gst-build/subprojects
$ cp -R /path/to/your/clone/gst-lightscapes gst-build/subprojects
Then build the project
$ cd gst-build
$ meson builddir -Dcustom_subprojects=gst-lightscapes -Dauto_features=disabled -Dgstreamer:tools=enabled
$ ninja -C builddir
Note: 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 builddir
These 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 devenv
First 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/plugins
Test if GStreamer can properly retrieve information about the plugins
$ gst-inspect-1.0 dlblightning