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 <rob...@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
_______________________________________________
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to