We have a custom .Net desktop app that uses CefSharp. But we replace the chromium dlls provided in nuget with our own custom build to add MP4 support. In our app we use WebRTC with a bit help of .Net SignalR to create one to one video calls. When we use the original chromium dlls the call is established and all is good, but once we use our custom built dlls the call is established at first but then after 30-40 seconds white screen appears and we see the following error in event viewer/Windows logs/Application
Faulting application name: CefSharp.BrowserSubprocess.exe, version: 84.4.10.0, time stamp: 0x5f45f0d1
Faulting module name: libcef.dll, version: 84.4.1.0, time stamp: 0x5f1b375b
Exception code: 0x4000001f
Fault offset: 0x02c34080
Faulting process id: 0x4604
Faulting application start time: 0x01d6d156a204962e
Faulting application path: C:\SSCollection\SelfService\SelfService\SelfServicePackage\KioskApplication\CefSharp.BrowserSubprocess.exe
Faulting module path: C:\SSCollection\SelfService\SelfService\SelfServicePackage\KioskApplication\libcef.dll
Report Id: 8996b665-1874-479e-a097-346b97cf86ff
Faulting package full name:
Faulting package-relative application ID:
We also see this warning in Event Viewer just before it
Unable to open the job object \BaseNamedObjects\WmiProviderSubSystemHostJob for query access. The calling process may not have permission to open this job. The first four bytes (DWORD) of the Data section contains the status code.
-----------------------------------------------------------------------------------------------------------------
More information:
We use chromium 84.4.1
Branch 4147
We used the following to update the code \code\chromium_git\update.bat
set GN_DEFINES=is_official_build=true proprietary_codecs=1 ffmpeg_branding=Chrome symbol_level=2 enable_precompiled_headers=false
set GN_ARGUMENTS=--ide=vs2019 --sln=cef --filters=//cef/*
python ..\automate\automate-git.py --download-dir=d:\code\chromium_git --branch=4147 --depot-tools-dir=d:\code\depot_tools --no-distrib --no-build
We used the following to run the build \code\chromium_git\chromium\src\cef\create.bat
set CEF_USE_GN=1
set GN_DEFINES= proprietary_codecs=true is_official_build=true ffmpeg_branding=Chrome symbol_level=2 enable_precompiled_headers=false
set GN_ARGUMENTS=--ide=vs2019 --sln=cef --filters=//cef/*
call cef_create_projects.bat
Operating System:
Windows 10 64 bit
After build we get the following files and folders from \chromium\src\out\Debug_GN_x86 (our app is 32 bit)
locales
swiftshader
cef.pak
cef_100_percent.pak
cef_200_percent.pak
cef_extensions.pak
chrome_elf.dll
d3dcompiler_47.dll
devtools_resources.pak
icudtl.dat
libcef.dll
libEGL.dll
libGLESv2.dll
snapshot_blob.bin
v8_context_snapshot.bin