Failed to load plugin warnings in Cerbero build for Windows (-v visualstudio)
GStreamer build with Cerbero master with visualstudio, nvcodec and intelmsdk variants enabled.
Win10 x64 Pro 1909
Python 3.8.1 x64
CMake 3.16.2
VS Community 2019 16.4.29613.14
Running gst-launch (or gst-inspect) gives warnings for several DLLs (the two errors are expected):
>gst-launch-1.0.exe
(gst-launch-1.0:12556): GStreamer-WARNING **: 12:59:23.948: Failed to load plugin 'C:\Users\T\GStreamer\1.0\x86_64\lib\gstreamer-1.0\gstassrender.dll': 'C:\Users\T\GStreamer\1.0\x86_64\lib\gstreamer-1.0\gstassrender.dll': %1 is not a valid Win32 application.
(gst-launch-1.0:12556): GStreamer-WARNING **: 12:59:23.999: Failed to load plugin 'C:\Users\T\GStreamer\1.0\x86_64\lib\gstreamer-1.0\gstdashdemux.dll': 'C:\Users\T\GStreamer\1.0\x86_64\lib\gstreamer-1.0\gstdashdemux.dll': %1 is not a valid Win32 application.
(gst-launch-1.0:12556): GStreamer-WARNING **: 12:59:24.048: Failed to load plugin 'C:\Users\T\GStreamer\1.0\x86_64\lib\gstreamer-1.0\gstges.dll': 'C:\Users\T\GStreamer\1.0\x86_64\lib\gstreamer-1.0\gstges.dll': %1 is not a valid Win32 application.
0:00:00.504297000 12556 00000131A3885E40 ERROR msdk msdk.c:177:msdk_open_session: Intel Media SDK not available (undeveloped feature)
(gst-launch-1.0:12556): GStreamer-WARNING **: 12:59:24.447: Failed to load plugin 'C:\Users\T\GStreamer\1.0\x86_64\lib\gstreamer-1.0\gstsmoothstreaming.dll': 'C:\Users\T\GStreamer\1.0\x86_64\lib\gstreamer-1.0\gstsmoothstreaming.dll': %1 is not a valid Win32 application.
(gst-launch-1.0:12556): GStreamer-WARNING **: 12:59:24.473: Failed to load plugin 'C:\Users\T\GStreamer\1.0\x86_64\lib\gstreamer-1.0\gstsoup.dll': 'C:\Users\T\GStreamer\1.0\x86_64\lib\gstreamer-1.0\gstsoup.dll': %1 is not a valid Win32 application.
(gst-launch-1.0:12556): GStreamer-WARNING **: 12:59:24.523: Failed to load plugin 'C:\Users\T\GStreamer\1.0\x86_64\lib\gstreamer-1.0\gstzbar.dll': 'C:\Users\T\GStreamer\1.0\x86_64\lib\gstreamer-1.0\gstzbar.dll': %1 is not a valid Win32 application.
0:00:00.662751000 12556 00000131A3885E40 ERROR GST_PIPELINE gst/parse/grammar.y:1162:priv_gst_parse_yyparse: empty pipeline not allowed
ERROR: pipeline could not be constructed: empty pipeline not allowed.
Dumpbin -dependents outputs for the affected DLLs:
C:\Users\T\GStreamer\1.0\x86_64\lib\gstreamer-1.0>C:\22\dumpbin.exe gstassrender.dll -dependents
Microsoft (R) COFF/PE Dumper Version 14.24.28314.0
Copyright (C) Microsoft Corporation. All rights reserved.
Dump of file gstassrender.dll
File Type: DLL
Image has the following dependencies:
gstvideo-1.0-0.dll
gstreamer-1.0-0.dll
gobject-2.0-0.dll
glib-2.0-0.dll
libass-9.dll
VCRUNTIME140.dll
api-ms-win-crt-runtime-l1-1-0.dll
KERNEL32.dll
Summary
1000 .00cfg
1000 .data
3000 .idata
1000 .pdata
4000 .rdata
1000 .reloc
C000 .text
---
Dump of file gstdashdemux.dll
File Type: DLL
Image has the following dependencies:
gstadaptivedemux-1.0-0.dll
gsturidownloader-1.0-0.dll
gstisoff-1.0-0.dll
gstbase-1.0-0.dll
gstreamer-1.0-0.dll
gobject-2.0-0.dll
glib-2.0-0.dll
gsttag-1.0-0.dll
gstnet-1.0-0.dll
gio-2.0-0.dll
libxml2-2.dll
VCRUNTIME140.dll
api-ms-win-crt-stdio-l1-1-0.dll
api-ms-win-crt-string-l1-1-0.dll
api-ms-win-crt-convert-l1-1-0.dll
api-ms-win-crt-runtime-l1-1-0.dll
KERNEL32.dll
Summary
1000 .00cfg
1000 .data
4000 .idata
2000 .pdata
B000 .rdata
1000 .reloc
24000 .text
---
Dump of file gstges.dll
File Type: DLL
Image has the following dependencies:
ges-1.0-0.dll
gstreamer-1.0-0.dll
gobject-2.0-0.dll
glib-2.0-0.dll
gstbase-1.0-0.dll
VCRUNTIME140.dll
api-ms-win-crt-runtime-l1-1-0.dll
KERNEL32.dll
Summary
1000 .00cfg
1000 .data
3000 .idata
1000 .pdata
3000 .rdata
1000 .reloc
9000 .text
---
Dump of file gstsmoothstreaming.dll
File Type: DLL
Image has the following dependencies:
gstadaptivedemux-1.0-0.dll
gstcodecparsers-1.0-0.dll
gstisoff-1.0-0.dll
gstreamer-1.0-0.dll
gobject-2.0-0.dll
glib-2.0-0.dll
intl-8.dll
gstbase-1.0-0.dll
libxml2-2.dll
VCRUNTIME140.dll
api-ms-win-crt-string-l1-1-0.dll
api-ms-win-crt-convert-l1-1-0.dll
api-ms-win-crt-runtime-l1-1-0.dll
KERNEL32.dll
Summary
1000 .00cfg
1000 .data
3000 .idata
1000 .pdata
4000 .rdata
1000 .reloc
B000 .text
---
Dump of file gstsoup.dll
File Type: DLL
Image has the following dependencies:
gstreamer-1.0-0.dll
gobject-2.0-0.dll
glib-2.0-0.dll
intl-8.dll
gstbase-1.0-0.dll
gsttag-1.0-0.dll
libsoup-2.4-1.dll
gio-2.0-0.dll
VCRUNTIME140.dll
api-ms-win-crt-convert-l1-1-0.dll
api-ms-win-crt-runtime-l1-1-0.dll
KERNEL32.dll
Summary
1000 .00cfg
1000 .data
4000 .idata
1000 .pdata
5000 .rdata
1000 .reloc
10000 .text
---
Dump of file gstzbar.dll
File Type: DLL
Image has the following dependencies:
gstvideo-1.0-0.dll
gstbase-1.0-0.dll
gstreamer-1.0-0.dll
gobject-2.0-0.dll
glib-2.0-0.dll
libzbar-0.dll
VCRUNTIME140.dll
api-ms-win-crt-runtime-l1-1-0.dll
KERNEL32.dll
Summary
1000 .00cfg
1000 .data
2000 .idata
1000 .pdata
2000 .rdata
1000 .reloc
6000 .text
I have VC++ runtime redistributables (2005, 2008, 2010, 2012, 2013, 2015-2019; x86 and x64) installed; the 2015-2019 one I've updated today to make sure it's installed properly. Picked 2 DLLs for a quick check, gstzbar.dll and gstsoup.dll: besides the vcredist & system dependencies (vcruntime140.dll, api-ms-*.dll, kernel32.dll), all the needed DLL files seem to exist in the GStreamer folders.
I'm unsure whether this is reliant on -v visualstudio as I don't have a MinGW build to check.