-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
libgstndi.so initialize fail #110
Comments
That looks like a build environment issue, but also a more up-to-date version of the plugin is available from https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/tree/main/net/ndi . If you still reproduce it with that, please provide more details about your build environment and how you built GStreamer and the plugin. |
I built gst-plugins-rs 10.0.4.
How can I build gst-plugins-rs with gstreamer 1.18? |
Hi @sdroege, When I tried gst-plugins-rs 0.8, there was no net/ndi.
|
@sdroege |
Why do you build version 0.8? That's quite old and two major releases in the past. Generally, all your problems seem to be from a broken build environment. I can't really help with that, you'll have to figure that one out yourself or get someone with access to your hardware and environment to look into it. |
It wasn't a build environment problem, but I solved it. Anyway, thank you for your reply. |
So what was the problem in the end? |
In fact, the GstBaseSrc size was different because some variables were added to our GstBaseSrc structure. |
Who added those and where does your GStreamer version come from? |
But yes, that's a build environment problem. You have a broken version of GStreamer in your environment. The If someone supplied this version of GStreamer to you then stop using that supplier as they clearly don't know what they're doing. If it was changed on your side, then the changes have to be applied in a different way. |
@sdroege |
@sdroege Monitoring devices, waiting for devices to be removed or new devices to be added... Device found:
But actually my device cannot receive ndi data.
From tcp dump, it received only 12288byte. What could be the problem?
|
As you can see, the NDI SDK simply receives no frames and then after 10s the plugin times out. A problem with either the SDK or the NDI source. |
@sdroege
|
Unless you give me a way to reproduce this you'll have to debug yourself what the differences in SDK calls between the example and the GStreamer plugin are. |
I have cross compiled ndi plugin from https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/tree/main/net/ndi for arm aarch64 with cargo. The plugin is listed on the target board. For some reason, the NDI SDK fails to load. I tried a simple pipeline: gst-launch-1.0 videotestsrc is-live=true ! video/x-raw,format=UYVY ! ndisinkcombiner name=combiner ! ndisink ndi-name="My NDI source" ERROR: from element /GstPipeline:pipeline0/GstNdiSink:ndisink0: Failed loading NDI SDK Should I set NDI_RUNTIME_DIR_V6 or |
solved the issue by placing the libndi.so.6.1 in the /usr/lib and setting : export NDI_RUNTIME_DIR_V6=/usr/lib |
Can you please let me know the reason why the following error happens?
I installed gstreamer 1.18.2 and libndi 5.5.3.
And then I built gst-plugin-ndi latest version.
gst-inspect-1.0 /media/libgstndi.so
(gst-inspect-1.0:12139): GLib-GObject-WARNING **: 00:03:54.627: specified instance size for type 'NdiSrc' is smaller than the parent type's 'GstBaseSrc' instance size
(gst-inspect-1.0:12139): GLib-GObject-WARNING **: 00:03:54.630: cannot add private field to invalid (non-instantiatable) type ''
thread '' panicked at 'assertion failed: type_.is_valid()', src/ndisrc/imp.rs:89:1
note: run with
RUST_BACKTRACE=1
environment variable to display a backtrace0:00:00.020210060 12139 0x217dee0 ERROR GST_PLUGIN_LOADING src/lib.rs:149:gstndi::plugin_desc: Failed to initialize plugin due to panic: assertion failed: type_.is_valid()
Could not load plugin file: File "/media/libgstndi.so" appears to be a GStreamer plugin, but it failed to initialize
The text was updated successfully, but these errors were encountered: