Fix a number of windows regressions that were found while spinning up 1.21.2 binaries
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