This project contains a new GStreamer video sink element and examples to show a basic usage.
-
Setup gst-build as documented, see also Windows Prerequisites Setup
-
Apply 3 patches to GStreamer source code
-
Installation prefix should be specified, for example
PS > meson _builddir --prefix=C:/WHERE/TO/INSTALL
... meson will configure gst-build project...
PS > ninja -C _builddir install
-
Visual Studio 2019 16.9.3 or newer is required so that can use WinUI3 development package
-
Modify
GST_INSTALL_PATH
user macro in GStreamer.props with yourprefix
path via Visual Studio ->Property Manager
or manually.
This element is very similar to upstream d3d11videosink
element but WinUI3 SwapChainPanel specific implementation. The usage is not much different from other elements.
User can create the element via gst_element_factory_make()
GstElement* mySink =
gst_element_factory_make (`winui3videosink`, nullptr);
and gst_parse_launch()
will work as well.
winui3videosink
element doesn't support GstVideoOverlay
interface. So, gst_video_overlay_set_window_handle()
method must not be used in this case. Instead, user need to use gst_win_ui3_video_sink_set_panel()
method. See also header file