how to handle plugin error on different kernel/docker host

Marc Marc at f1-outsourcing.eu
Sun Sep 5 17:52:51 UTC 2021


I have centos8 docker image that builds gstreamer,base,good,bad from source plus the gstreamer-ndi plugin. Strange thing is, that if I run the docker image on a centos7 host with a 3.10 kernel gst-inspect is fine:

[/]# gst-inspect-1.0 /usr/local/lib64/gstreamer-1.0/libgstndi.so
Plugin Details:
  Name                     ndi
  Description              NewTek NDI Plugin
  Filename                 /usr/local/lib64/gstreamer-1.0/libgstndi.so
  Version                  1.0.0-160571e
  License                  LGPL
  Source module            gst-plugin-ndi
  Source release date      2021-08-17
  Binary package           gst-plugin-ndi
  Origin URL               https://github.com/teltek/gst-plugin-ndi

  ndisink: NDI Sink
  ndisinkcombiner: NDI Sink Combiner
  ndiaudiosrc: NewTek NDI Audio Source
  ndivideosrc: NewTek NDI Video Source
  ndideviceprovider: NewTek NDI Device Provider

  5 features:
  +-- 4 elements
  +-- 1 device providers

But when I move the centos8 docker image to a centos8 host, and execute the same I am getting this error

[]# ldconfig
[]# gst-inspect-1.0 /usr/local/lib64/gstreamer-1.0/libgstndi.so
0:00:00.033940037  1886      0x21fa960 ERROR     GST_PLUGIN_LOADING src/lib.rs:71:gstndi::plugin_desc: Failed to register plugin: Cannot initialize NDI
Could not load plugin file: File "/usr/local/lib64/gstreamer-1.0/libgstndi.so" appears to be a GStreamer plugin, but it failed to initialize

How should I debug this? 

Rebuilding a new image on the centos8 host does not resolve this.
starting the container with --cap-add SYS_ADMIN does not resolve this.




More information about the gstreamer-devel mailing list