Running GStreamer on on Windows 10 Secure Host Baseline (SHB) with an Host-Based Security System (HBSS)
Yurkanin, David
dyurkanin at specialtysystems.com
Tue Jan 11 16:30:11 UTC 2022
HELLO,
I am trying to run GStreamer v1.0 on a workstation with Windows 10 Secure Host Baseline (SHB) with an Host-Based Security System (HBSS). I have found that the HBSS prevents loading of any dll from outside the current directory in which an .exe is being run ( the .exe is run from a whitelisted directory from a console window).
Note that my .exe using GStreamer pipelines/rtsp runs fine on a regular Windows 10 workstation with admin credentials.
So I have many of the .dlls copied into the .exe directory as follows:
06/02/2021 05:38 AM 1,466,368 gio-2.0-0.dll
12/10/2019 12:59 PM 422,912 glew32.dll
06/02/2021 05:38 AM 1,303,040 glib-2.0-0.dll
06/02/2021 05:38 AM 20,992 gmodule-2.0-0.dll
06/02/2021 05:38 AM 289,280 gobject-2.0-0.dll
06/02/2021 05:59 AM 68,096 gstapp-1.0-0.dll
06/02/2021 05:59 AM 476,160 gstaudio-1.0-0.dll
06/02/2021 05:42 AM 479,232 gstbase-1.0-0.dll
06/02/2021 05:42 AM 95,232 gstnet-1.0-0.dll
06/02/2021 05:59 AM 218,624 gstpbutils-1.0-0.dll
06/02/2021 05:42 AM 1,139,200 gstreamer-1.0-0.dll
06/02/2021 05:59 AM 57,344 gstriff-1.0-0.dll
06/02/2021 05:59 AM 147,456 gstrtp-1.0-0.dll
06/02/2021 05:59 AM 123,392 gstrtsp-1.0-0.dll
06/02/2021 06:07 AM 368,128 gstrtspserver-1.0-0.dll
06/02/2021 05:59 AM 88,576 gstsdp-1.0-0.dll
06/02/2021 05:59 AM 231,424 gsttag-1.0-0.dll
06/02/2021 05:59 AM 710,144 gstvideo-1.0-0.dll
With these dlls I can run my app that uses a GStreamer pipeline for capturing camera video (H264 decoding) and also using the GStreamer rtsp server code to output a video stream, but I still was getting errors trying to load dlls. So I assume GStreamer loads dlls when a particular library element needs it.
When I set the local PATH variable and GST_PLUGIN_PATH variables in a console window running my .exe I can get some functionality working (like the rtsp media_configure() and need_data() method threads) but not all of it (a need_data() argument is a consistent goofy address. Below is an example of some of the errors:
0:00:04.611150000 30136 000001E629F25960 WARN default ges-meta-container.c:237:_set_value:<GESAsset at 000001E629F1EDC0> Could not set value on item: format-version
0:00:04.613680000 30136 000001E629F25960 WARN default ges-meta-container.c:237:_set_value:<GESAsset at 000001E629F1EE40> Could not set value on item: format-version
0:00:04.616195000 30136 000001E629F25960 WARN default ges-meta-container.c:237:_set_value:<GESAsset at 000001E629F1EEC0> Could not set value on item: format-version
0:00:04.621471000 30136 000001E629F25960 WARN structure gststructure.c:2332:priv_gst_structure_parse_fields: Failed to find delimiter, r=mimetype
0:00:05.189240000 30136 000001E629F25960 WARN ladspa gstladspa.c:508:plugin_init:<plugin90> no LADSPA plugins found, check LADSPA_PATH
0:00:23.973051000 30136 000001E619001000 WARN mftransform gstmftransform.cpp:552:gst_mf_transform_thread_func:<mftransform3> No available device at index 0
0:00:23.993402000 30136 000001E619001040 WARN mftransform gstmftransform.cpp:552:gst_mf_transform_thread_func:<mftransform4> No available device at index 0
0:00:24.011978000 30136 000001E619001080 WARN mftransform gstmftransform.cpp:552:gst_mf_transform_thread_func:<mftransform5> No available device at index 0
0:00:24.064008000 30136 000001E619001080 WARN mftransform gstmftransform.cpp:552:gst_mf_transform_thread_func:<mftransform6> No available device at index 0
0:00:24.172994000 30136 000001E618FF8E40 WARN mftransform gstmftransform.cpp:552:gst_mf_transform_thread_func:<mftransform8> No available device at index 1
0:00:24.182256000 30136 000001E618FF8D80 WARN mftransform gstmftransform.cpp:552:gst_mf_transform_thread_func:<mftransform9> No available device at index 0
0:00:24.832976000 30136 000001E619001080 WARN mftransform gstmftransform.cpp:552:gst_mf_transform_thread_func:<mftransform11> No available device at index 1
0:00:26.062326000 30136 000001E629F25960 WARN default gstnvrtcloader.c:94:gst_nvrtc_load_library: Could not open library nvrtc64_114_0.dll, 'nvrtc64_114_0.dll': The specified module could not be found.
So my question is there a complete list of what dlls GStreamer needs to load and from what expected paths? Has anyone out there had this issue and tried to solve it without admin credentials?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20220111/d9c27a4c/attachment-0001.htm>
More information about the gstreamer-devel
mailing list