Unfortunately, this did not work for me. I tried:
meson setup --buildtype=release --prefix <custom_prefix> --strip
--default-library=static --wrap-mode=forcefallback -Dgst-full-libraries=video,audio,app,pbutils,sdp,webrtc,rtsp-server-1.0,json-glib-1.0,soup
-Dauto_features=disabled -Dtools=enabled -Dbase=enabled -Dgood=enabled -Dbad=enabled -Dlibnice=enabled -Dlibav=enabled -Drtsp_server=enabled -Dglib:tests=false
-Dcustom_subprojects=json-glib -Djson-glib:default_library=static -Djson-glib:tests=false -Dpcre2:test=false -Dges=disabled -Ddevtools=disabled -Dpython=disabled
-Dgst-plugins-base:playback=enabled -Dgst-plugins-base:videotestsrc=enabled -Dgst-plugins-base:videorate=enabled -Dgst-plugins-base:videoconvertscale=enabled
-Dgst-plugins-base:app=enabled -Dgst-plugins-base:typefind=enabled -Dgst-plugins-good:soup=enabled -Dgst-plugins-good:rtp=enabled
-Dgst-plugins-bad:nvcodec=enabled -Dgst-plugins-bad:webrtc=enabled -Dgst-plugins-bad:videoparsers=enabled
--force-fallback-for=gstreamer-1.0,glib,libffi,pcre2,json-glib <build_dir>
and (just removing the “1.0” suffix from rtsp-server and json-glib in gst-full-libraries
):
meson setup --buildtype=release --prefix <custom_prefix> --strip
--default-library=static --wrap-mode=forcefallback -Dgst-full-libraries=video,audio,app,pbutils,sdp,webrtc,rtsp-server,json-glib,soup
-Dauto_features=disabled -Dtools=enabled -Dbase=enabled -Dgood=enabled -Dbad=enabled -Dlibnice=enabled -Dlibav=enabled -Drtsp_server=enabled -Dglib:tests=false
-Dcustom_subprojects=json-glib -Djson-glib:default_library=static -Djson-glib:tests=false -Dpcre2:test=false -Dges=disabled -Ddevtools=disabled -Dpython=disabled
-Dgst-plugins-base:playback=enabled -Dgst-plugins-base:videotestsrc=enabled -Dgst-plugins-base:videorate=enabled -Dgst-plugins-base:videoconvertscale=enabled
-Dgst-plugins-base:app=enabled -Dgst-plugins-base:typefind=enabled -Dgst-plugins-good:soup=enabled -Dgst-plugins-good:rtp=enabled
-Dgst-plugins-bad:nvcodec=enabled -Dgst-plugins-bad:webrtc=enabled -Dgst-plugins-bad:videoparsers=enabled
--force-fallback-for=gstreamer-1.0,glib,libffi,pcre2,json-glib <build_dir>
without -Dgst-full-libraries=...,gstreamer-rtsp-server-1.0,...
I get undefined linker errors like undefined reference to gst_rtsp_server_new
. Could this be related to the difference between “libraries” and “plugins”? For example, the difference in libgstapp-1.0.a
(in <prefix>/lib/x86_64-linux-gnu
) and libgstapp.a
(in <prefix>/lib/x86_64-linux-gnu/gstreamer-1.0
.
without linking directly to json-glib-1.0.a, I get missing includes for <json-glib/json-glib.h>. And this file is present in the install prefix include directory.
without linking directly to libsoup-2.4, I get the following linker error: undefined reference to soup_server_new
without linking to gstreamer-pbutils-1.0 directly, I get linker errors related to gst_discoverer_...
Could you point me to the meson logic/code that controls this? I don’t mind trying to debug but I can’t seem to find it in the GStreamer repo and I am coming from CMake…