I have been using NDI Library (x86_64-linux-gnu) v3.8 without any problems. But suddenly, it started crashing with segfault inside the library.
After some time I noticed that the "Linux SDK 3.8" I have downloaded back in March is not the same as the "Linux SDK 3.8" I can download now.
[EDIT] I have just noticed that this library update is something that Andrew Cross refers to as 3.8.1. And it is out since April.
Although they have the same size, the good old library (libndi.so.3.8.0) has sha1 checksum
Code:
e55e498e33a5894e4ea6ee15b160e5c3e1b2df4c
The new one is
Code:
0d40da788ea74e70f09148c65d2ea003cfd91359
After replacing with the older library, everything works just fine.
How to reproduce?
This bug shows up only in very specific conditions.
1. The sender must send an audio - the way i have noticed it was with your NDIlib_Send_BMD example
2. The receiver must use NDIlib_framesync_instance_t instead of calling NDIlib_recv_capture_v2
Segfault occurs on the receiver after the Frame synchronizer is created (I do not have to call NDIlib_framesync_capture_video). Apparently, this happens inside the library when the framesync object internally calls NDIlib_recv_capture_v2.
The gdb back-track is exactly the same as in this post:
falling at address 0x00007ffff7b5cbd4.
Can you fix this pls? And mark any changes even with small incremental (i.e. 3.8.0a) in the future? Thank You very much!
P.S.: Glad to help whenever you decide to release NDI as GPL
Bookmarks