Skip to content

Latest commit

 

History

History
149 lines (115 loc) · 4.9 KB

README.md

File metadata and controls

149 lines (115 loc) · 4.9 KB

gst-lightscapes

What It Is

GStreamer plugins collection for building Dolby Lightscapes media pipeline.

⚠️ Plugins require proprietary libraries to initialize properly.

Dependencies

Building

Linux

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

Windows (MSVC)

  1. Install Microsoft Visual Studio 2019

  2. 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

  1. 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)
  1. 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
  1. 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

macOS

You can install GStreamer dependencies using installer from GStreamer project. or with Homebrew.

Building from source

⚠️ 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

Running

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