I’d like to use the newest version of GStreamer and pipewire while developing but I cannot figure out how to build and install it properly while retaining functionality. I’m relying on pipewiresrc which always seems to be missing when I build.
The pipewire plugin ships with pipewire and is not included in the GStreamer monorepo checkout.
If you’re using the dev environment, you could just copy the libgstpipewire.so file into path/to/gstreamer/prefix/lib/gstreamer-1.0 where path/to/gstreamer is the location of your monorepo checkout. You may have to mkdir -p prefix/lib/gstreamer-1.0 first. If you’re lucky that works.
I built pipewire and found this .so file that I need to copy. So I ran
sudo meson install -C builddir
Which should make a prefix in the default location of /usr/local and I can see inside /usr/local/lib/x86_64-linux-gnu a folder called gstreamer-1.0 that the plugin could go inside.
My problem now is whenever I try to do something with this new gstreamer I get
Terminal:~$ gst-inspect-1.0 --version
gst-inspect-1.0: symbol lookup error: gst-inspect-1.0: undefined symbol: _gst_value_unique_list_type
Terminal:~$ which gst-inspect-1.0
/usr/local/bin/gst-inspect-1.0
So clearly I’m still missing something. I don’t see anything obvious in GStreamer / gstreamer · GitLab that explains what else I need.
Before you were talking about an uninstalled dev env checkout, now you install things into a prefix, those are different things.
Because you installed into /usr/local there’s probably a mismatch/clash with your system packages now, things are picked up from different versions.
_gst_value_unique_list_type is something that only exists in the very latest GStreamer version from the main branch, so something you built might be pulling in an older libgstremaer-1.0.so from somewhere (probably your system prefix).
I built the newest pipewire and used the new libgstpipewire.so it generated but that didn’t work. I ended up copying my system libgstpipewire.so instead which looks to have picked up the newer of pipewire I installed.