Aaron Boxer
September 28, 2020
Reading time:
Note: In September 2021, the GStreamer project merged all its git repositories into a single, unified repository, often called monorepo
. The build system referred in this post as "gst-build" is now in the root of this combined/mono repository.
There are two ways of building GStreamer on Windows - using either cerbero or gst-build. As gst-build
is a lot quicker, we will use this approach in this post.
GStreamer relies on various 2D font rendering and layout libraries such as Pango
and Cairo
to generate text for the Pango
plugin, which contains elements such as textoverlay
. However, building GStreamer on Windows using gst-build
does not currently include support for Pango
.
In this post, we will learn how to add the Pango
plugin to a gst-build
installation on Windows.
If you haven't already followed my previous guide on GStreamer and Windows, please follow the steps there to build GStreamer from source.
Now, we will need to clone a few more repositories into our source directory :
Next we open a Visual Studio x64
command prompt and execute the following:
> cd freetype2 && meson build --prefix=%GSTREAMER_1_0_ROOT_X86_64% --buildtype=release && ninja -C build install > cd ..\pixman && meson build --prefix=%GSTREAMER_1_0_ROOT_X86_64% --buildtype=release && ninja -C build install > cd ..\harfbuzz && meson build --prefix=%GSTREAMER_1_0_ROOT_X86_64% --buildtype=release && ninja -C build install > cd ..\cairo && meson build --prefix=%GSTREAMER_1_0_ROOT_X86_64% --buildtype=release && ninja -C build install > cd ..\pango && meson build -Dintrospection=false --prefix=%GSTREAMER_1_0_ROOT_X86_64% --buildtype=release && ninja -C build install > cd ..\gst-build-x64 && meson build --reconfigure --prefix=%GSTREAMER_1_0_ROOT_X86_64% --buildtype=release && ninja -C build install
At this stage, it is a good idea to delete our plugin cache:
> rmdir /Q /S c:\\Users\YOUR_USER_NAME\AppData\Local\Microsoft\Windows\INetCache\gstreamer-1.0
And finally:
> gst-inspect-1.0 textoverlay
should find the overlay plugin!
If you have any questions about GStreamer text rendering on Windows, or any other platform, please contact us.
25/04/2024
While I managed to land support for two extensions, implementing control flow re-convergence in NVK did not go as planned. This is the story…
14/03/2024
In continuation with our series about Kernel Integration we'll go into more detail about how regression detection, processing, and tracking…
21/02/2024
Now included in our Debian images & available via our GitLab, you can build a complete, working BL31 (Boot Loader stage 3.1), and replace…
19/02/2024
Back in 2022, after a series of issues were found in its design, I made the call to rework some of WirePlumber's fundamentals in order to…
08/02/2024
Continuing our Kernel Integration series, we're excited to introduce DRM-CI, a groundbreaking solution that enables developers to test their…
23/01/2024
This is the fourth and final part in a series on persian-rug, a Rust crate for interconnected objects. We've touched on the two big limitations:…
Comments (0)
Add a Comment