<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><font face="monospace, monospace">Hello,</font><div><font face="monospace, monospace"><br></font></div><div><div><font face="monospace, monospace">I wonder if anyone has ever been able to use GStreamer libraries with MATLAB in Windows.</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">Context</font></div><div><font face="monospace, monospace">-------</font></div><div><font face="monospace, monospace"><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">We are developing a custom adapter to be used with </span>MATLAB's Image Acquisition Toolbox add-on library (imaqmex.mexw64). Our adapter is a library (.dll in Windows) and uses GStreamer to access an RTSP video feed.</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">MATLAB --> imaqmex.mexw64 --> our_custom_adapter.dll --> gstreamer libraries</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">The components are:</font></div><div><font face="monospace, monospace">- Windows 7</font></div><div><font face="monospace, monospace">- MATLAB R2018b (v9.5.0.944444) with Image Acquisition Toolbox v5.5</font></div><div><font face="monospace, monospace"><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">- GStreamer libraries v1.14.4 for Windows</span><br></font></div><div><font face="monospace, monospace"><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">- Visual S</span></font><span style="font-family:monospace,monospace">tudio 2015 (because it appears that the </span><span style="font-family:monospace,monospace">imaqmex.mexw64 was built with VS 2015).</span></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">Issue</font></div><div><font face="monospace, monospace">-----</font></div><div><font face="monospace, monospace">At some point in MATLAB's Command Window, we type 'imaqhwinfo'. This results in the Image Acquisition Toolbox library calling our adapter's initialization code, which in turn calls gst_init_check(), after checking that it's not already initialized (i.e. gst_is_initialized).</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">Then, somewhere along the line, an access violation (segmentation fault) randomly occurs in a GStreamer function (doesn't always occur when calling the same function). I have noticed that it often occurs when "calling" GST_LOG or GST_DEBUG macros, but it can also occur when calling any other function. For instance, calling gst_tag_register from plugin_init (isomp4-plugin.c).</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">It looks like there's an alignment issue between the MATLAB context and the GStreamer libraries.<br></font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">I've tried to change multiple compiler and linker options but I didn't find any combination to make it work.</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">- Does anyone have any idea what could be the issue and how to fix it?</font></div><div><font face="monospace, monospace">- Is it just a question of setting the proper compiler/linker options or it's more complex than that?</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">It must be noted that with Linux, the same code (obviously with appropriate #ifdef/#ifndef _WIN32</font><span style="font-family:monospace,monospace"> where required) works without any issues.</span></div><div><font face="monospace, monospace"><br></font></div><div><span style="font-family:monospace,monospace"><br></span></div><div><span style="font-family:monospace,monospace">Finally, in the GStreamer instructions for </span><a href="https://gstreamer.freedesktop.org/documentation/installing/on-windows.html#installing-on-windows" style="font-family:monospace,monospace">Installing on Windows</a><span style="font-family:monospace,monospace">, it's said that the property pages only work with Visual Studio 2010. What do we need to change to make them work with Visual Studio 2015? I didn't face any issue loading them in Visual Studio 2015.</span><br></div></div><div><span style="font-family:monospace,monospace"><br></span></div><div><span style="font-family:monospace,monospace"><br></span></div><div><span style="font-family:monospace,monospace">Thank you in advance for any help, it will be greatly appreciated.</span></div><div><span style="font-family:monospace,monospace"><br></span></div><div><span style="font-family:monospace,monospace">Regards,</span></div><div><span style="font-family:monospace,monospace">MarcG</span></div></div></div></div></div></div>