centricular / gstcefsrc

A simple gstreamer wrapper around Chromium Embedded Framework
83 stars 45 forks source link

Windows build #38

Closed triggerfinger-debug closed 2 years ago

triggerfinger-debug commented 2 years ago

Hey, GStreamer fails to load this plugin.

(gst-inspect-1.0:19248): GStreamer-WARNING **: 13:31:43.321: Failed to load plugin 'C:\Users\trigg\Dev\gstreamer\gstcefsrc\build\Release\gstcef.dll': 'C:\Users\trigg\Dev\gstreamer\gstcefsrc\build\Release\gstcef.dll': The specified module could not be found.

(gst-inspect-1.0:19248): GStreamer-WARNING **: 13:31:43.330: Failed to load plugin 'C:\Users\trigg\Dev\gstreamer\gstcefsrc\build\Release\libcef.dll': 'C:\Users\trigg\Dev\gstreamer\gstcefsrc\build\Release\libcef.dll': The specified module could not be found.

I used this command:

cmake -DCMAKE_BUILD_TYPE=Release ..

followed by building solution with Visual Studio 19.

I set the GST_PLUGIN_PATH environment variable in system properties after.

GStreamer version 1.19.1 - MinGW 64-bit runtime and development installers.

Am I missing something?

triggerfinger-debug commented 2 years ago

It works if gst-launch from the Release folder. However (unrelated) it hangs when Freeing pipeline ...

MathieuDuponchelle commented 2 years ago

Hrm, requiring the main executable to be in the Release folder used to be a thing, but I'm fairly sure it shouldn't be needed anymore since https://github.com/centricular/gstcefsrc/commit/e2da7ea7f54cf797a0b7723ea431d6312801aa61#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5 , we should try and figure out why that would still be needed on Windows :)

Please do open a separate issue for the hang if you don't mind :)

triggerfinger-debug commented 2 years ago

Adding the Release folder to GST_PLUGIN_PATH and Path fixed the issue of GStreamer picking up the plugin.

MathieuDuponchelle commented 2 years ago

Oh! that's a typical Windows problem yes, nice catch. Feel free to document that in the README :)