[vlc-commits] [Git][videolan/vlc][master] 3 commits: contrib: fix UWP build of strmif.h
Steve Lhomme (@robUx4)
gitlab at videolan.org
Tue Jun 4 16:39:49 UTC 2024
Steve Lhomme pushed to branch master at VideoLAN / VLC
Commits:
5e861138 by Steve Lhomme at 2024-06-04T16:09:21+00:00
contrib: fix UWP build of strmif.h
- - - - -
a044fc33 by Steve Lhomme at 2024-06-04T16:09:21+00:00
CI: update LLVM mingw images with mingw v12
- - - - -
bcc33a20 by Steve Lhomme at 2024-06-04T16:09:21+00:00
contrib: ffmpeg: fix bogus MediaFoundation in UWP
It's not supposed to work in UWP without forcing the FAMILY_DESKTOP.
- - - - -
4 changed files:
- contrib/src/ffmpeg/rules.mak
- + contrib/src/mingw64/0001-headers-disable-more-strmif-interfaces-in-UWP.patch
- contrib/src/mingw64/rules.mak
- extras/ci/gitlab-ci.yml
Changes:
=====================================
contrib/src/ffmpeg/rules.mak
=====================================
@@ -160,14 +160,14 @@ endif
# Windows
ifdef HAVE_WIN32
ifndef HAVE_VISUALSTUDIO
-DEPS_ffmpeg += wine-headers
+DEPS_ffmpeg += wine-headers mingw12-fixes
endif
FFMPEGCONF += --target-os=mingw32
FFMPEGCONF += --enable-w32threads
ifndef HAVE_WINSTORE
FFMPEGCONF += --enable-dxva2
else
-FFMPEGCONF += --disable-dxva2
+FFMPEGCONF += --disable-dxva2 --disable-mediafoundation
endif
ifeq ($(ARCH),x86_64)
=====================================
contrib/src/mingw64/0001-headers-disable-more-strmif-interfaces-in-UWP.patch
=====================================
@@ -0,0 +1,125 @@
+From b9509ccdb9ee3c73b8f69fa6de431cec907d49b2 Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <robux4 at ycbcr.xyz>
+Date: Mon, 3 Jun 2024 13:50:03 +0200
+Subject: [PATCH] headers: disable more strmif interfaces in UWP
+
+Just as they are in axcore since dc4c87129e1768dba6b35ad56e395f263f3d2e6d.
+---
+ mingw-w64-headers/include/axextend.idl | 6 ++++++
+ mingw-w64-headers/include/dyngraph.idl | 6 ++++++
+ mingw-w64-headers/include/strmif.h | 12 ++++++++++++
+ mingw-w64-headers/include/strmif.idl | 8 ++++++++
+ 4 files changed, 32 insertions(+)
+
+diff --git a/mingw-w64-headers/include/axextend.idl b/mingw-w64-headers/include/axextend.idl
+index 6981b972b..d1dd53e92 100644
+--- a/mingw-w64-headers/include/axextend.idl
++++ b/mingw-w64-headers/include/axextend.idl
+@@ -16,6 +16,9 @@
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
++cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
++cpp_quote("")
++
+ interface IAMAnalogVideoDecoder;
+ interface IAMAnalogVideoEncoder;
+ interface IAMAudioInputMixer;
+@@ -1552,3 +1555,6 @@ interface IAMPluginControl : IUnknown
+ [in] LPCWSTR dllName);
+ }
+ cpp_quote("#endif /*(_WIN32_WINNT >= 0x0601)*/")
++
++cpp_quote("#endif /* WINAPI_PARTITION_DESKTOP */")
++cpp_quote("")
+diff --git a/mingw-w64-headers/include/dyngraph.idl b/mingw-w64-headers/include/dyngraph.idl
+index 92f91e841..ee50f9a42 100644
+--- a/mingw-w64-headers/include/dyngraph.idl
++++ b/mingw-w64-headers/include/dyngraph.idl
+@@ -20,6 +20,9 @@
+ #pragma makedep install
+ #endif
+
++cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
++cpp_quote("")
++
+ interface IPinConnection;
+ interface IPinFlowControl;
+ interface IGraphConfig;
+@@ -152,3 +155,6 @@ interface IFilterChain : IUnknown
+ [in] IBaseFilter *pStartFilter,
+ [in] IBaseFilter *pEndFilter);
+ }
++
++cpp_quote("#endif /* WINAPI_PARTITION_DESKTOP */")
++cpp_quote("")
+diff --git a/mingw-w64-headers/include/strmif.h b/mingw-w64-headers/include/strmif.h
+index 77a6689cd..48822dce2 100644
+--- a/mingw-w64-headers/include/strmif.h
++++ b/mingw-w64-headers/include/strmif.h
+@@ -3789,6 +3789,8 @@ enum tagAM_MEDIAEVENT_FLAGS {
+ };
+
+ #endif
++#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
++
+ #ifndef __IAMAnalogVideoDecoder_FWD_DEFINED__
+ #define __IAMAnalogVideoDecoder_FWD_DEFINED__
+ typedef interface IAMAnalogVideoDecoder IAMAnalogVideoDecoder;
+@@ -11079,6 +11081,10 @@ static __WIDL_INLINE HRESULT IAMPluginControl_IsLegacyDisabled(IAMPluginControl*
+ #endif /* __IAMPluginControl_INTERFACE_DEFINED__ */
+
+ #endif /*(_WIN32_WINNT >= 0x0601)*/
++#endif /* WINAPI_PARTITION_DESKTOP */
++
++#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
++
+ #ifndef __IPinConnection_FWD_DEFINED__
+ #define __IPinConnection_FWD_DEFINED__
+ typedef interface IPinConnection IPinConnection;
+@@ -11711,6 +11717,10 @@ static __WIDL_INLINE HRESULT IFilterChain_RemoveChain(IFilterChain* This,IBaseFi
+
+ #endif /* __IFilterChain_INTERFACE_DEFINED__ */
+
++#endif /* WINAPI_PARTITION_DESKTOP */
++
++#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
++
+ #ifndef __IReferenceClock2_FWD_DEFINED__
+ #define __IReferenceClock2_FWD_DEFINED__
+ typedef struct IReferenceClock2 IReferenceClock2;
+@@ -16647,6 +16657,8 @@ __CRT_UUID_DECL(IMpeg2Demultiplexer,0x436eee9c,0x264f,0x4242,0x90,0xe1,0x4e,0x33
+
+ extern RPC_IF_HANDLE __MIDL_itf_strmif_0413_v0_0_c_ifspec;
+ extern RPC_IF_HANDLE __MIDL_itf_strmif_0413_v0_0_s_ifspec;
++#endif /* WINAPI_PARTITION_DESKTOP */
++
+ /* Begin additional prototypes for all interfaces */
+
+
+diff --git a/mingw-w64-headers/include/strmif.idl b/mingw-w64-headers/include/strmif.idl
+index c2cdd4921..9f9bb6515 100644
+--- a/mingw-w64-headers/include/strmif.idl
++++ b/mingw-w64-headers/include/strmif.idl
+@@ -12,6 +12,9 @@ import "objidl.idl";
+ #include "axextend.idl"
+ #include "dyngraph.idl"
+
++cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
++cpp_quote("")
++
+ cpp_quote("#ifndef __IReferenceClock2_FWD_DEFINED__")
+ cpp_quote("#define __IReferenceClock2_FWD_DEFINED__")
+ cpp_quote("typedef struct IReferenceClock2 IReferenceClock2;")
+@@ -4948,3 +4951,8 @@ cpp_quote("#endif")
+ cpp_quote("")
+ cpp_quote(" extern RPC_IF_HANDLE __MIDL_itf_strmif_0413_v0_0_c_ifspec;")
+ cpp_quote(" extern RPC_IF_HANDLE __MIDL_itf_strmif_0413_v0_0_s_ifspec;")
++
++
++cpp_quote("#endif /* WINAPI_PARTITION_DESKTOP */")
++cpp_quote("")
++
+--
+2.45.0.windows.1
+
=====================================
contrib/src/mingw64/rules.mak
=====================================
@@ -14,7 +14,7 @@ PKGS += winrt_headers alloweduwp
else # !HAVE_WINSTORE
PKGS += dcomp
endif # !HAVE_WINSTORE
-PKGS += dxva dxvahd mingw11-fixes mft10 d3d12
+PKGS += dxva dxvahd mingw11-fixes mingw12-fixes mft10 d3d12
ifdef HAVE_WINSTORE
PKGS_FOUND += winrt_headers
@@ -31,6 +31,9 @@ endif # MINGW 11
ifeq ($(call mingw_at_least, 12), true)
PKGS_FOUND += mingw11-fixes d3d12
endif # MINGW 12
+ifeq ($(call mingw_at_least, 13), true)
+PKGS_FOUND += mingw12-fixes
+endif # MINGW 13
endif # !HAVE_VISUALSTUDIO
HAVE_WINPTHREAD := $(shell $(CC) $(CFLAGS) -E -dM -include pthread.h - < /dev/null >/dev/null 2>&1 || echo FAIL)
@@ -40,7 +43,7 @@ endif
endif # HAVE_WIN32
-PKGS_ALL += winpthreads winrt_headers dxva dxvahd dcomp mingw11-fixes alloweduwp mft10 d3d12
+PKGS_ALL += winpthreads winrt_headers dxva dxvahd dcomp mingw11-fixes mingw12-fixes alloweduwp mft10 d3d12
# $(TARBALLS)/mingw-w64-$(MINGW64_HASH).tar.xz:
# $(call download_git,$(MINGW64_GITURL),,$(MINGW64_HASH))
@@ -54,6 +57,7 @@ $(TARBALLS)/mingw-w64-v$(MINGW64_VERSION).tar.bz2:
mingw64: mingw-w64-v$(MINGW64_VERSION).tar.bz2 .sum-mingw64
# mingw64: mingw-w64-$(MINGW64_HASH).tar.xz .sum-mingw64
$(UNPACK)
+ $(APPLY) $(SRC)/mingw64/0001-headers-disable-more-strmif-interfaces-in-UWP.patch
$(MOVE)
.mingw64: mingw64
@@ -103,6 +107,14 @@ MINGW_HEADERS_WINRT := \
install $</mingw-w64-headers/crt/process.h "$(PREFIX)/include"
touch $@
+.sum-mingw12-fixes: .sum-mingw64
+ touch $@
+
+.mingw12-fixes: mingw64
+ install -d "$(PREFIX)/include"
+ install $</mingw-w64-headers/include/strmif.h "$(PREFIX)/include"
+ touch $@
+
.sum-dcomp: .sum-mingw64
touch $@
=====================================
extras/ci/gitlab-ci.yml
=====================================
@@ -21,8 +21,8 @@ default:
variables:
VLC_TEST_TIMEOUT: 60
VLC_WIN64_IMAGE: registry.videolan.org/vlc-debian-win64-posix:20240522152555
- VLC_WIN_LLVM_MSVCRT_IMAGE: registry.videolan.org/vlc-debian-llvm-msvcrt:20240522152555
- VLC_WIN_LLVM_UCRT_IMAGE: registry.videolan.org/vlc-debian-llvm-ucrt:20240522152555
+ VLC_WIN_LLVM_MSVCRT_IMAGE: registry.videolan.org/vlc-debian-llvm-msvcrt:20240531102610
+ VLC_WIN_LLVM_UCRT_IMAGE: registry.videolan.org/vlc-debian-llvm-ucrt:20240531102610
VLC_DEBIAN_IMAGE: registry.videolan.org/vlc-debian-unstable:20240402131352
VLC_ANDROID_IMAGE: registry.videolan.org/vlc-debian-android:20240522152555
VLC_SNAP_IMAGE: registry.videolan.org/vlc-ubuntu-focal:20231013031754
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/694497fa0e8f38bf8c0cd1b36385891a82f2d80e...bcc33a20200f02826abf91da8d9287f41c30d4ac
--
This project does not include diff previews in email notifications.
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/694497fa0e8f38bf8c0cd1b36385891a82f2d80e...bcc33a20200f02826abf91da8d9287f41c30d4ac
You're receiving this email because of your account on code.videolan.org.
VideoLAN code repository instance
More information about the vlc-commits
mailing list