Skip to content

Fix a number of windows regressions that were found while spinning up 1.21.2 binaries

Nirbheek Chauhan requested to merge nirbheek/cerbero:1.21.2-regression into main
cerbero: Don't emit warning when mingw or uwp variant is enabled
cerbero: Bootstrap MSVC Rust toolchain for build-tools
cerbero: Fix install prefix when no variant is specified on Windows

We were setting the default visualstudio variant too late, and the
prefix was being set to mingw_x86_64 in the case when no variant is
specified on Windows, even though Visual Studio is used for
compilation.
cerbero: Fix Rust bootstrap on 64-bit Windows

rustup-init has started to also install the 32-bit MSVC toolchain by
default on 64-bit Windows, so we need to match that and fetch it too.
gst-plugins-bad: Fix build error on MSVC x86

FAILED: sys/d3d11/gstd3d11.dll.p/gstd3d11winrtcapture.cpp.obj
../sys/d3d11/gstd3d11winrtcapture.cpp(446): error C2672: 'Callback': no matching overloaded function found
../sys/d3d11/gstd3d11winrtcapture.cpp(447): error C2784: 'Microsoft::WRL::ComPtr<Details::DelegateArgTraitsHelper<TDelegateInterface,false>::Interface> Microsoft::WRL::Callback(TCallbackObject *,HRESULT (__thiscall TCallbackObject::* )(TA
rgs...)) throw()': could not deduce template argument for 'HRESULT (__thiscall TCallbackObject::* )(TArgs...)' from 'HRESULT (__stdcall GstD3D11WinRTCaptureInner::* )(ABI::Windows::Graphics::Capture::IGraphicsCaptureItem *,IInspectable *)
'
C:\Program Files (x86)\Windows Kits\10\include\10.0.20348.0\winrt\wrl\event.h(477): note: see declaration of 'Microsoft::WRL::Callback'
../sys/d3d11/gstd3d11winrtcapture.cpp(447): error C2780: 'Microsoft::WRL::ComPtr<Details::DelegateArgTraitsHelper<TDelegateInterface,false>::Interface> Microsoft::WRL::Callback(TFunc *) throw()': expects 1 arguments - 2 provided
C:\Program Files (x86)\Windows Kits\10\include\10.0.20348.0\winrt\wrl\event.h(465): note: see declaration of 'Microsoft::WRL::Callback'
../sys/d3d11/gstd3d11winrtcapture.cpp(447): error C2780: 'Microsoft::WRL::ComPtr<Details::DelegateArgTraitsHelper<TDelegateInterface,false>::Interface> Microsoft::WRL::Callback(TLambda &&) throw()': expects 1 arguments - 2 provided
C:\Program Files (x86)\Windows Kits\10\include\10.0.20348.0\winrt\wrl\event.h(457): note: see declaration of 'Microsoft::WRL::Callback'
../sys/d3d11/gstd3d11winrtcapture.cpp(448): error C3536: 'closed_handler': cannot be used before it is initialized

Patch from gstreamer!3375 (merged)

Edited by Nirbheek Chauhan

Merge request reports