1

I'm getting strange results with GStreamer 1.20.3 compiled from sources.

Target platform is RHEL8 with GCC12 (official Docker image was used as the base one). Python 3.8, Meson and Ninja were installed so compilation/linking passes without any errors.

But when I'm trying to check if all is Ok, I see this:

# ./gst-inspect-1.0

staticelements:  bin: Generic bin
staticelements:  pipeline: Pipeline object

Total count: 4 plugins (1 blacklist entry not shown), 2 features

So the tool does not see any plugins.

GStreamer is compiled like this (I plan to use static library):

...
ENV INSTALL_DIR_GSTREAMER=/app/install/gstreamer

RUN meson setup --prefix=$INSTALL_DIR_GSTREAMER --default-library=static ./build
RUN ninja -C ./build
RUN ninja -C ./build install
...

I saved full log and see only one fatal in it. Not sure that it's a reason of the problem but still:

#29 345.7 Cloning into 'pygobject'...
#29 349.9 HEAD is now at 63825d8e release
#29 350.0 Cloning into 'gobject-introspection'...
#29 351.0 warning: Could not find remote branch master to clone.
#29 351.0 fatal: Remote branch master not found in upstream origin

On checking https://gitlab.gnome.org/GNOME/gobject-introspection I found the main branch which is probably just the new name of master.

But this error is strange enough because I found only one dependency on gobject-introspection in pango and in the .wrap file the branch name for gobject-introspection is specified properly as revision=main.

Also I tried to stream WAV file from Docker with gst-launch-1.0 and it also fails with unable to create pipeline and multifile plugin not found.

On checking configuration summary in the log I see all base, good, bad plugins:

...
#29 356.1 gst-plugins-good 1.20.3
#29 356.1 
#29 356.1     Plugins: alpha, alphacolor, apetag, audiofx, audioparsers, auparse,
#29 356.1              autodetect, avi, cutter, navigationtest, debug, deinterlace, dtmf,
#29 356.1              effectv, equalizer, flv, flxdec, goom, goom2k1, icydemux,
#29 356.1              id3demux, imagefreeze, interleave, isomp4, alaw, mulaw, level,
#29 356.1              matroska, monoscope, multifile, multipart, replaygain, rtp,
#29 356.1              rtpmanager, rtsp, shapewipe, smpte, spectrum, udp, videobox,
#29 367.6              videocrop, videofilter, videomixer, wavenc, wavparse, y4menc,
#29 367.6              ossaudio, oss4, video4linux2, ximagesrc, cairo, jpeg, lame, dv,
#29 367.6              png, soup
...

So there are 2 main questions:

How to fix the gobject-introspection problem (I suspect somewhere in the sub-project there's a .wrap file with revision=master, but where it is)?

What else to check to understand why GStreamer tools are not working?

Any help is appreciated.

IronHawk
  • 365
  • 3
  • 7
  • Just found in log that the wrong branch of `gobject-introspection` is requested by `pygobject` as it has a reference to old commit of `gobject-introspection` where the branch was named `master`. This means that `pygobject` cannot be compiled now in GStreamer 1.20.3 without fixing the .wrap in `pygobject`. So I switched to 1.20.5 but the tools are not working in it too. – IronHawk Dec 22 '22 at 13:25

0 Answers0