From 38df6de05f1d464558ae27d19411ee5b329e5286 Mon Sep 17 00:00:00 2001
From: cjee21 <77721854+cjee21@users.noreply.github.com>
Date: Fri, 31 Oct 2025 16:13:38 +0800
Subject: [PATCH 1/7] MSVC: Update solution dependencies
---
Project/MSVC2022/MediaInfo-NoGUI.slnf | 2 ++
Project/MSVC2022/MediaInfo.sln | 38 +++++++++++++++++++++++++++
Project/MSVC2026/MediaInfo-NoGUI.slnf | 2 ++
Project/MSVC2026/MediaInfo.slnx | 6 +++++
Release/Build_CLI_Windows.ps1 | 5 ++++
Release/Build_GUI_Windows.ps1 | 5 ++++
6 files changed, 58 insertions(+)
diff --git a/Project/MSVC2022/MediaInfo-NoGUI.slnf b/Project/MSVC2022/MediaInfo-NoGUI.slnf
index 639d4572cc..e69973d080 100644
--- a/Project/MSVC2022/MediaInfo-NoGUI.slnf
+++ b/Project/MSVC2022/MediaInfo-NoGUI.slnf
@@ -6,6 +6,8 @@
"..\\..\\..\\MediaInfoLib\\Project\\MSVC2022\\Library\\MediaInfoLib.vcxproj",
"..\\..\\..\\MediaInfoLib\\Project\\MSVC2022\\RegressionTest\\RegressionTest.vcxproj",
"..\\..\\..\\ZenLib\\Project\\MSVC2022\\Library\\ZenLib.vcxproj",
+ "..\\..\\..\\brotli\\Project\\MSVC2022\\brotlicommon.vcxproj",
+ "..\\..\\..\\brotli\\Project\\MSVC2022\\brotlidec.vcxproj",
"..\\..\\..\\zlib\\contrib\\vstudio\\vc17\\zlibstat.vcxproj",
"CLI\\MediaInfo-CLI.vcxproj",
"MediaInfo_PackageHelper\\MediaInfo_PackageHelper.vcxproj",
diff --git a/Project/MSVC2022/MediaInfo.sln b/Project/MSVC2022/MediaInfo.sln
index d975c55f20..a8d7333ade 100644
--- a/Project/MSVC2022/MediaInfo.sln
+++ b/Project/MSVC2022/MediaInfo.sln
@@ -63,6 +63,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MediaInfo_PackageHelper", "
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PreRelease", "PreRelease\PreRelease.vcxproj", "{8B437426-D6E6-4E43-834F-2DD93E221D23}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "brotlidec", "..\..\..\brotli\Project\MSVC2022\brotlidec.vcxproj", "{ABD0C651-F2D8-3560-9313-6DF99D388406}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "brotlicommon", "..\..\..\brotli\Project\MSVC2022\brotlicommon.vcxproj", "{A2C733D0-0511-3374-AB76-169FAFC276BC}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|ARM = Debug|ARM
@@ -315,6 +319,38 @@ Global
{8B437426-D6E6-4E43-834F-2DD93E221D23}.Release|Win32.Build.0 = Release|Win32
{8B437426-D6E6-4E43-834F-2DD93E221D23}.Release|x64.ActiveCfg = Release|x64
{8B437426-D6E6-4E43-834F-2DD93E221D23}.Release|x64.Build.0 = Release|x64
+ {ABD0C651-F2D8-3560-9313-6DF99D388406}.Debug|ARM.ActiveCfg = Debug|x64
+ {ABD0C651-F2D8-3560-9313-6DF99D388406}.Debug|ARM.Build.0 = Debug|x64
+ {ABD0C651-F2D8-3560-9313-6DF99D388406}.Debug|ARM64.ActiveCfg = Debug|ARM64
+ {ABD0C651-F2D8-3560-9313-6DF99D388406}.Debug|ARM64.Build.0 = Debug|ARM64
+ {ABD0C651-F2D8-3560-9313-6DF99D388406}.Debug|Win32.ActiveCfg = Debug|Win32
+ {ABD0C651-F2D8-3560-9313-6DF99D388406}.Debug|Win32.Build.0 = Debug|Win32
+ {ABD0C651-F2D8-3560-9313-6DF99D388406}.Debug|x64.ActiveCfg = Debug|x64
+ {ABD0C651-F2D8-3560-9313-6DF99D388406}.Debug|x64.Build.0 = Debug|x64
+ {ABD0C651-F2D8-3560-9313-6DF99D388406}.Release|ARM.ActiveCfg = Release|x64
+ {ABD0C651-F2D8-3560-9313-6DF99D388406}.Release|ARM.Build.0 = Release|x64
+ {ABD0C651-F2D8-3560-9313-6DF99D388406}.Release|ARM64.ActiveCfg = Release|ARM64
+ {ABD0C651-F2D8-3560-9313-6DF99D388406}.Release|ARM64.Build.0 = Release|ARM64
+ {ABD0C651-F2D8-3560-9313-6DF99D388406}.Release|Win32.ActiveCfg = Release|Win32
+ {ABD0C651-F2D8-3560-9313-6DF99D388406}.Release|Win32.Build.0 = Release|Win32
+ {ABD0C651-F2D8-3560-9313-6DF99D388406}.Release|x64.ActiveCfg = Release|x64
+ {ABD0C651-F2D8-3560-9313-6DF99D388406}.Release|x64.Build.0 = Release|x64
+ {A2C733D0-0511-3374-AB76-169FAFC276BC}.Debug|ARM.ActiveCfg = Debug|x64
+ {A2C733D0-0511-3374-AB76-169FAFC276BC}.Debug|ARM.Build.0 = Debug|x64
+ {A2C733D0-0511-3374-AB76-169FAFC276BC}.Debug|ARM64.ActiveCfg = Debug|ARM64
+ {A2C733D0-0511-3374-AB76-169FAFC276BC}.Debug|ARM64.Build.0 = Debug|ARM64
+ {A2C733D0-0511-3374-AB76-169FAFC276BC}.Debug|Win32.ActiveCfg = Debug|Win32
+ {A2C733D0-0511-3374-AB76-169FAFC276BC}.Debug|Win32.Build.0 = Debug|Win32
+ {A2C733D0-0511-3374-AB76-169FAFC276BC}.Debug|x64.ActiveCfg = Debug|x64
+ {A2C733D0-0511-3374-AB76-169FAFC276BC}.Debug|x64.Build.0 = Debug|x64
+ {A2C733D0-0511-3374-AB76-169FAFC276BC}.Release|ARM.ActiveCfg = Release|x64
+ {A2C733D0-0511-3374-AB76-169FAFC276BC}.Release|ARM.Build.0 = Release|x64
+ {A2C733D0-0511-3374-AB76-169FAFC276BC}.Release|ARM64.ActiveCfg = Release|ARM64
+ {A2C733D0-0511-3374-AB76-169FAFC276BC}.Release|ARM64.Build.0 = Release|ARM64
+ {A2C733D0-0511-3374-AB76-169FAFC276BC}.Release|Win32.ActiveCfg = Release|Win32
+ {A2C733D0-0511-3374-AB76-169FAFC276BC}.Release|Win32.Build.0 = Release|Win32
+ {A2C733D0-0511-3374-AB76-169FAFC276BC}.Release|x64.ActiveCfg = Release|x64
+ {A2C733D0-0511-3374-AB76-169FAFC276BC}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -330,6 +366,8 @@ Global
{8ACC122A-CA6A-5AA6-9C97-9CDD2E533DB0} = {04D93003-160A-4F76-9E90-B069C508F134}
{01F4CE10-2CFB-41A8-B41F-E54337868A1D} = {04D93003-160A-4F76-9E90-B069C508F134}
{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8} = {70DAF034-E8BA-4636-A42C-CC581B3ECC94}
+ {ABD0C651-F2D8-3560-9313-6DF99D388406} = {70DAF034-E8BA-4636-A42C-CC581B3ECC94}
+ {A2C733D0-0511-3374-AB76-169FAFC276BC} = {70DAF034-E8BA-4636-A42C-CC581B3ECC94}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {6B8141D6-6E8C-44D3-B809-1CC53A8DE0BF}
diff --git a/Project/MSVC2026/MediaInfo-NoGUI.slnf b/Project/MSVC2026/MediaInfo-NoGUI.slnf
index 807851f97c..e1cc95ff0c 100644
--- a/Project/MSVC2026/MediaInfo-NoGUI.slnf
+++ b/Project/MSVC2026/MediaInfo-NoGUI.slnf
@@ -6,6 +6,8 @@
"..\\..\\..\\MediaInfoLib\\Project\\MSVC2026\\Library\\MediaInfoLib.vcxproj",
"..\\..\\..\\MediaInfoLib\\Project\\MSVC2026\\RegressionTest\\RegressionTest.vcxproj",
"..\\..\\..\\ZenLib\\Project\\MSVC2026\\Library\\ZenLib.vcxproj",
+ "..\\..\\..\\brotli\\Project\\MSVC2026\\brotlicommon.vcxproj",
+ "..\\..\\..\\brotli\\Project\\MSVC2026\\brotlidec.vcxproj",
"..\\..\\..\\zlib\\contrib\\vstudio\\vc18\\zlibstat.vcxproj",
"CLI\\MediaInfo-CLI.vcxproj",
"MediaInfo_PackageHelper\\MediaInfo_PackageHelper.vcxproj",
diff --git a/Project/MSVC2026/MediaInfo.slnx b/Project/MSVC2026/MediaInfo.slnx
index 7afbfbe43d..370c4b54ff 100644
--- a/Project/MSVC2026/MediaInfo.slnx
+++ b/Project/MSVC2026/MediaInfo.slnx
@@ -15,6 +15,12 @@
+
+
+
+
+
+
diff --git a/Release/Build_CLI_Windows.ps1 b/Release/Build_CLI_Windows.ps1
index a318458299..cb4f77a9c0 100755
--- a/Release/Build_CLI_Windows.ps1
+++ b/Release/Build_CLI_Windows.ps1
@@ -32,6 +32,11 @@ switch ($msvc) {
#-----------------------------------------------------------------------
# Prepare
+Push-Location -Path "${release_directory}\..\..\brotli\Project\$msvc"
+ ((Get-Content -Path brotlicommon.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path brotlicommon.vcxproj
+ ((Get-Content -Path brotlidec.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path brotlidec.vcxproj
+Pop-Location
+
Push-Location -Path "${release_directory}\..\..\zlib\contrib\vstudio\$vc"
((Get-Content -Path zlibstat.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path zlibstat.vcxproj
Pop-Location
diff --git a/Release/Build_GUI_Windows.ps1 b/Release/Build_GUI_Windows.ps1
index 778c92133d..b434f5cd7e 100755
--- a/Release/Build_GUI_Windows.ps1
+++ b/Release/Build_GUI_Windows.ps1
@@ -19,6 +19,11 @@ if ("${arch}" -eq "x64" ) {
#-----------------------------------------------------------------------
# Prepare
+Push-Location -Path "${release_directory}\..\..\brotli\Project\$msvc"
+ ((Get-Content -Path brotlicommon.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path brotlicommon.vcxproj
+ ((Get-Content -Path brotlidec.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path brotlidec.vcxproj
+Pop-Location
+
Push-Location -Path "${release_directory}\..\..\zlib\contrib\vstudio\vc17"
((Get-Content -Path zlibstat.vcxproj) -Replace 'MultiThreadedDLL','MultiThreaded') | Set-Content -Path zlibstat.vcxproj
Pop-Location
From ab4135bd1bfb0fc92b529b0bb52c4a1615afd1d3 Mon Sep 17 00:00:00 2001
From: cjee21 <77721854+cjee21@users.noreply.github.com>
Date: Fri, 31 Oct 2025 16:57:23 +0800
Subject: [PATCH 2/7] CI: Update dependencies
---
.../workflows/MediaInfo-Android_Checks.yml | 5 +++++
.github/workflows/MediaInfo-Qt_Checks.yml | 5 +++++
.github/workflows/MediaInfo_Checks.yml | 20 ++++++++++++++++---
3 files changed, 27 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/MediaInfo-Android_Checks.yml b/.github/workflows/MediaInfo-Android_Checks.yml
index b1c83b3222..222c69e680 100644
--- a/.github/workflows/MediaInfo-Android_Checks.yml
+++ b/.github/workflows/MediaInfo-Android_Checks.yml
@@ -19,6 +19,11 @@ jobs:
Ubuntu:
runs-on: ubuntu-latest
steps:
+ - name: Checkout brotli
+ uses: actions/checkout@v6
+ with:
+ repository: MediaArea/brotli
+ path: brotli
- name: Checkout zlib
uses: actions/checkout@v6
with:
diff --git a/.github/workflows/MediaInfo-Qt_Checks.yml b/.github/workflows/MediaInfo-Qt_Checks.yml
index ea5fb26158..858221965c 100644
--- a/.github/workflows/MediaInfo-Qt_Checks.yml
+++ b/.github/workflows/MediaInfo-Qt_Checks.yml
@@ -35,6 +35,11 @@ jobs:
name: Windows (${{ matrix.architecture }})
runs-on: ${{ matrix.runner }}
steps:
+ - name: Checkout brotli
+ uses: actions/checkout@v6
+ with:
+ repository: MediaArea/brotli
+ path: brotli
- name: Checkout zlib
uses: actions/checkout@v6
with:
diff --git a/.github/workflows/MediaInfo_Checks.yml b/.github/workflows/MediaInfo_Checks.yml
index f240ce47a1..51fa017cd9 100644
--- a/.github/workflows/MediaInfo_Checks.yml
+++ b/.github/workflows/MediaInfo_Checks.yml
@@ -25,7 +25,7 @@ jobs:
run: |
if [ "$RUNNER_OS" == "Linux" ]; then
sudo apt-get update -y
- sudo apt-get install -y zlib1g-dev libwxgtk3.2-dev
+ sudo apt-get install -y libbrotli-dev zlib1g-dev libwxgtk3.2-dev
fi
if [ "$RUNNER_OS" == "macOS" ]; then
brew install libtool automake wxmac
@@ -97,6 +97,11 @@ jobs:
name: Windows (${{ matrix.architecture }})
runs-on: ${{ matrix.runner }}
steps:
+ - name: Checkout brotli
+ uses: actions/checkout@v6
+ with:
+ repository: MediaArea/brotli
+ path: brotli
- name: Checkout zlib
uses: actions/checkout@v6
with:
@@ -166,6 +171,12 @@ jobs:
env:
CXXFLAGS: ${{ matrix.CXXFLAGS }}
steps:
+ - name: Checkout brotli
+ if: ${{ matrix.type == 'Windows (DLL) (x64)' }}
+ uses: actions/checkout@v6
+ with:
+ repository: MediaArea/brotli
+ path: brotli
- name: Checkout zlib
if: ${{ matrix.type == 'Windows (DLL) (x64)' }}
uses: actions/checkout@v6
@@ -196,17 +207,20 @@ jobs:
- name: Build dependencies
if: ${{ matrix.type == 'Windows (DLL) (x64)' }}
run: |
+ cmake -G Ninja -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=./cmake-prefix/ -B build-brotli ./brotli/
+ cmake --build build-brotli
+ cmake --install build-brotli
cmake -G Ninja -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=./cmake-prefix/ -B build-zlib ./zlib/
cmake --build build-zlib
cmake --install build-zlib
cmake -G Ninja -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=./cmake-prefix/ -B build-zenlib ./ZenLib/Project/CMake/
cmake --build build-zenlib
cmake --install build-zenlib
- cmake -G Ninja -D CMAKE_BUILD_TYPE=Release -D CMAKE_PREFIX_PATH=./cmake-prefix/ -D CMAKE_INSTALL_PREFIX=./cmake-prefix/ -D BUILD_ZLIB=OFF -D BUILD_ZENLIB=OFF -D BUILD_SHARED_LIBS=ON -B build-mediainfolib ./MediaInfoLib/Project/CMake/
+ cmake -G Ninja -D CMAKE_BUILD_TYPE=Release -D CMAKE_PREFIX_PATH=./cmake-prefix/ -D CMAKE_INSTALL_PREFIX=./cmake-prefix/ -D BUILD_BROTLI=OFF -D BUILD_ZLIB=OFF -D BUILD_ZENLIB=OFF -D BUILD_SHARED_LIBS=ON -B build-mediainfolib ./MediaInfoLib/Project/CMake/
cmake --build build-mediainfolib
cmake --install build-mediainfolib
- name: Configure CLI
- run: cmake -G Ninja -D CMAKE_PREFIX_PATH=./cmake-prefix/ -D CMAKE_INSTALL_PREFIX=./cmake-prefix/ -D CMAKE_BUILD_TYPE=Release ${{ matrix.type == 'Windows (DLL) (x64)' && '-D MEDIAINFO_CLI_STATIC=OFF' || '-D BUILD_ZENLIB=ON -D BUILD_ZLIB=ON -D ZLIB_BUILD_SHARED=OFF -D ZLIB_BUILD_TESTING=OFF' }} -B build ./MediaInfo/Project/CMake/CLI/
+ run: cmake -G Ninja -D CMAKE_PREFIX_PATH=./cmake-prefix/ -D CMAKE_INSTALL_PREFIX=./cmake-prefix/ -D CMAKE_BUILD_TYPE=Release ${{ matrix.type == 'Windows (DLL) (x64)' && '-D MEDIAINFO_CLI_STATIC=OFF' || '-D BUILD_BROTLI=ON -D BUILD_ZENLIB=ON -D BUILD_ZLIB=ON -D ZLIB_BUILD_SHARED=OFF -D ZLIB_BUILD_TESTING=OFF' }} -B build ./MediaInfo/Project/CMake/CLI/
- name: Build CLI
run: cmake --build build
- name: Install CLI
From 639066852e86ba925ae9d2528107c08f77239d02 Mon Sep 17 00:00:00 2001
From: cjee21 <77721854+cjee21@users.noreply.github.com>
Date: Sun, 30 Nov 2025 23:34:24 +0800
Subject: [PATCH 3/7] Qt GUI: Update Windows dependencies
---
Project/QMake/GUI/MediaInfoQt.pro | 45 +++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)
diff --git a/Project/QMake/GUI/MediaInfoQt.pro b/Project/QMake/GUI/MediaInfoQt.pro
index 14a2033e82..6b13e0f256 100644
--- a/Project/QMake/GUI/MediaInfoQt.pro
+++ b/Project/QMake/GUI/MediaInfoQt.pro
@@ -199,6 +199,21 @@ win32 {
}
}
+ exists(../../../../brotli/Project/$$MSVCVER/Win32/Release/brotlidec.lib) {
+ INCLUDEPATH += ../../../../brotli/c/include
+ LIBS += $$PWD/../../../../brotli/Project/$$MSVCVER/Win32/Release/brotlicommon.lib
+ LIBS += $$PWD/../../../../brotli/Project/$$MSVCVER/Win32/Release/brotlidec.lib
+ } else {
+ exists(../../../../MediaInfoLib/Project/$$MSVCVER/Win32/Release/brotlidec.lib) {
+ !build_pass:message("using brotlidec.lib from MediaInfoLib build")
+ INCLUDEPATH += ../../../../brotli/c/include
+ LIBS += $$PWD/../../../../MediaInfoLib/Project/$$MSVCVER/Win32/Release/brotlicommon.lib
+ LIBS += $$PWD/../../../../MediaInfoLib/Project/$$MSVCVER/Win32/Release/brotlidec.lib
+ } else {
+ error("brotli not found on system")
+ }
+ }
+
exists(../../../../zlib/contrib/vstudio/$$MSVCVERN/x86/ZlibStatReleaseWithoutAsm/zlibstat.lib) {
INCLUDEPATH += ../../../../zlib
LIBS += $$PWD/../../../../zlib/contrib/vstudio/$$MSVCVERN/x86/ZlibStatReleaseWithoutAsm/zlibstat.lib
@@ -245,6 +260,21 @@ win32 {
}
}
+ exists(../../../../brotli/Project/$$MSVCVER/x64/Release/brotlidec.lib) {
+ INCLUDEPATH += ../../../../brotli/c/include
+ LIBS += $$PWD/../../../../brotli/Project/$$MSVCVER/x64/Release/brotlicommon.lib
+ LIBS += $$PWD/../../../../brotli/Project/$$MSVCVER/x64/Release/brotlidec.lib
+ } else {
+ exists(../../../../MediaInfoLib/Project/$$MSVCVER/x64/Release/brotlidec.lib) {
+ !build_pass:message("using brotlidec.lib from MediaInfoLib build")
+ INCLUDEPATH += ../../../../brotli/c/include
+ LIBS += $$PWD/../../../../MediaInfoLib/Project/$$MSVCVER/x64/Release/brotlicommon.lib
+ LIBS += $$PWD/../../../../MediaInfoLib/Project/$$MSVCVER/x64/Release/brotlidec.lib
+ } else {
+ error("brotli not found on system")
+ }
+ }
+
exists(../../../../zlib/contrib/vstudio/$$MSVCVERN/x64/ZlibStatReleaseWithoutAsm/zlibstat.lib) {
INCLUDEPATH += ../../../../zlib
LIBS += $$PWD/../../../../zlib/contrib/vstudio/$$MSVCVERN/x64/ZlibStatReleaseWithoutAsm/zlibstat.lib
@@ -294,6 +324,21 @@ win32 {
}
}
+ exists(../../../../brotli/Project/$$MSVCVER/ARM64/Release/brotlidec.lib) {
+ INCLUDEPATH += ../../../../brotli/c/include
+ LIBS += $$PWD/../../../../brotli/Project/$$MSVCVER/ARM64/Release/brotlicommon.lib
+ LIBS += $$PWD/../../../../brotli/Project/$$MSVCVER/ARM64/Release/brotlidec.lib
+ } else {
+ exists(../../../../MediaInfoLib/Project/$$MSVCVER/ARM64/Release/brotlidec.lib) {
+ !build_pass:message("using brotlidec.lib from MediaInfoLib build")
+ INCLUDEPATH += ../../../../brotli/c/include
+ LIBS += $$PWD/../../../../MediaInfoLib/Project/$$MSVCVER/ARM64/Release/brotlicommon.lib
+ LIBS += $$PWD/../../../../MediaInfoLib/Project/$$MSVCVER/ARM64/Release/brotlidec.lib
+ } else {
+ error("brotli not found on system")
+ }
+ }
+
exists(../../../../zlib/contrib/vstudio/$$MSVCVERN/arm64/ZlibStatReleaseWithoutAsm/zlibstat.lib) {
INCLUDEPATH += ../../../../zlib
LIBS += $$PWD/../../../../zlib/contrib/vstudio/$$MSVCVERN/arm64/ZlibStatReleaseWithoutAsm/zlibstat.lib
From dbb4299a4a9d4629c94dd31079999d501f7f216d Mon Sep 17 00:00:00 2001
From: cjee21 <77721854+cjee21@users.noreply.github.com>
Date: Wed, 11 Mar 2026 04:07:40 +0800
Subject: [PATCH 4/7] CMake: Update dependencies
---
Project/CMake/CLI/CMakeLists.txt | 3 +++
1 file changed, 3 insertions(+)
diff --git a/Project/CMake/CLI/CMakeLists.txt b/Project/CMake/CLI/CMakeLists.txt
index d7fc32752a..9ca2624b6d 100644
--- a/Project/CMake/CLI/CMakeLists.txt
+++ b/Project/CMake/CLI/CMakeLists.txt
@@ -65,6 +65,9 @@ if(MEDIAINFO_CLI_STATIC)
message(STATUS "Found local ${NAME} at ${LOCAL_PATH}")
endif()
endmacro()
+ if(WIN32 OR BUILD_BROTLI)
+ ensure_dependency(Brotli "https://github.com/MediaArea/brotli.git" "${CMAKE_CURRENT_SOURCE_DIR}/../../../../brotli" "")
+ endif()
if(WIN32 OR BUILD_ZLIB)
ensure_dependency(zlib "https://github.com/MediaArea/zlib.git" "${CMAKE_CURRENT_SOURCE_DIR}/../../../../zlib" "")
endif()
From 76410a3ba677f48a024c2376f2456cd60fe49c72 Mon Sep 17 00:00:00 2001
From: cjee21 <77721854+cjee21@users.noreply.github.com>
Date: Wed, 11 Mar 2026 04:07:57 +0800
Subject: [PATCH 5/7] Update README.md
---
README.md | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/README.md b/README.md
index 879be90096..8f00da90bb 100644
--- a/README.md
+++ b/README.md
@@ -62,6 +62,7 @@ Create an empty folder and clone the following repositories using Git or GitHub
- This repository ()
-
-
+-
-
If you need Curl or the Graph Plugin, they may be obtained from [MediaArea-Utils-Binaries](https://github.com/MediaArea/MediaArea-Utils-Binaries) and [MediaInfo-Graph-Plugin-Binaries](https://github.com/MediaArea/MediaInfo-Graph-Plugin-Binaries) respectively.
@@ -224,6 +225,7 @@ port install autoconf automake libtool pkgconfig zlib wxWidgets-3.0
*CLI and GUI dependencies*
+- brotli
- zlib
*GUI only dependencies*
@@ -235,7 +237,7 @@ port install autoconf automake libtool pkgconfig zlib wxWidgets-3.0
*Build tools and CLI/GUI dependencies*
```sh
-apt-get install git automake autoconf libtool pkg-config make g++ zlib1g-dev
+apt-get install git automake autoconf libtool pkg-config make g++ libbrotli-dev zlib1g-dev
```
*MediaArea tools*
@@ -257,7 +259,7 @@ apt-get install libwxgtk3.2-dev
*Build tools and CLI/GUI dependencies*
```sh
-sudo yum install git automake autoconf libtool pkgconfig make gcc-c++ zlib-devel
+sudo yum install git automake autoconf libtool pkgconfig make gcc-c++ brotli-devel zlib-devel
```
*MediaArea tools*
@@ -279,7 +281,7 @@ sudo yum install wxGTK-devel desktop-file-utils
*Build tools and CLI/GUI dependencies*
```sh
-apt-get install git automake autoconf libtool pkg-config make g++ zlib1g-dev
+apt-get install git automake autoconf libtool pkg-config make g++ libbrotli-dev zlib1g-dev
```
*MediaArea tools*
@@ -301,7 +303,7 @@ apt-get install libwxgtk3.0-dev
*Build tools and CLI/GUI dependencies*
```sh
-zypper install git automake autoconf libtool pkgconfig make gcc-c++ zlib-devel
+zypper install git automake autoconf libtool pkgconfig make gcc-c++ brotli-devel zlib-devel
```
*MediaArea tools*
@@ -462,7 +464,7 @@ To build statically-linked MediaInfo CLI with CMake, create a new directory and
```bash
git clone https://github.com/MediaArea/MediaInfo.git
-cmake -G Ninja -D CMAKE_PREFIX_PATH=./install/ -D CMAKE_INSTALL_PREFIX=./install/ -D CMAKE_BUILD_TYPE=Release -D BUILD_ZENLIB=ON -D BUILD_ZLIB=ON -D ZLIB_BUILD_SHARED=OFF -D ZLIB_BUILD_TESTING=OFF -B build ./MediaInfo/Project/CMake/CLI/
+cmake -G Ninja -D CMAKE_PREFIX_PATH=./install/ -D CMAKE_INSTALL_PREFIX=./install/ -D CMAKE_BUILD_TYPE=Release -D BUILD_ZENLIB=ON -D BUILD_BROTLI=ON -D BUILD_ZLIB=ON -D ZLIB_BUILD_SHARED=OFF -D ZLIB_BUILD_TESTING=OFF -B build ./MediaInfo/Project/CMake/CLI/
cmake --build build
cmake --install build
```
From 610b7cb12a363ec8d0430122862d9659c57515fd Mon Sep 17 00:00:00 2001
From: cjee21 <77721854+cjee21@users.noreply.github.com>
Date: Thu, 12 Mar 2026 18:44:45 +0800
Subject: [PATCH 6/7] Android: Update dependencies
---
Source/GUI/Android/app/CMakeLists.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/Source/GUI/Android/app/CMakeLists.txt b/Source/GUI/Android/app/CMakeLists.txt
index f529b1dae3..0830336c09 100644
--- a/Source/GUI/Android/app/CMakeLists.txt
+++ b/Source/GUI/Android/app/CMakeLists.txt
@@ -8,6 +8,7 @@ project(MediaInfo)
# Build MediaInfoLib
set(BUILD_SHARED_LIBS ON CACHE BOOL "Force shared library build" FORCE)
set(LARGE_FILES OFF CACHE BOOL "Enable large files support" FORCE)
+set(BUILD_BROTLI ON CACHE BOOL "Build bundled Brotli" FORCE)
set(BUILD_ZENLIB ON CACHE BOOL "Build bundled ZenLib" FORCE)
add_subdirectory(../../../../../MediaInfoLib/Project/CMake ${CMAKE_CURRENT_BINARY_DIR}/MediaInfoLib)
From 3985f09a0351f3f1b599fdac44d6af9098a33001 Mon Sep 17 00:00:00 2001
From: cjee21 <77721854+cjee21@users.noreply.github.com>
Date: Mon, 1 Dec 2025 00:06:19 +0800
Subject: [PATCH 7/7] [TEST]
---
.github/workflows/MediaInfo-Android_Checks.yml | 6 ++++--
.github/workflows/MediaInfo-Qt_Checks.yml | 6 ++++--
.github/workflows/MediaInfo_Checks.yml | 14 +++++++++-----
3 files changed, 17 insertions(+), 9 deletions(-)
diff --git a/.github/workflows/MediaInfo-Android_Checks.yml b/.github/workflows/MediaInfo-Android_Checks.yml
index 222c69e680..90a571d608 100644
--- a/.github/workflows/MediaInfo-Android_Checks.yml
+++ b/.github/workflows/MediaInfo-Android_Checks.yml
@@ -22,7 +22,8 @@ jobs:
- name: Checkout brotli
uses: actions/checkout@v6
with:
- repository: MediaArea/brotli
+ repository: cjee21/brotli #!! TO CHANGE !!
+ ref: MSVC #!! TO REMOVE !!
path: brotli
- name: Checkout zlib
uses: actions/checkout@v6
@@ -37,7 +38,8 @@ jobs:
- name: Checkout MediaInfoLib
uses: actions/checkout@v6
with:
- repository: MediaArea/MediaInfoLib
+ repository: cjee21/MediaInfoLib #!! TO CHANGE !!
+ ref: jxl #!! TO REMOVE !!
path: MediaInfoLib
- name: Checkout MediaInfo
uses: actions/checkout@v6
diff --git a/.github/workflows/MediaInfo-Qt_Checks.yml b/.github/workflows/MediaInfo-Qt_Checks.yml
index 858221965c..487596f357 100644
--- a/.github/workflows/MediaInfo-Qt_Checks.yml
+++ b/.github/workflows/MediaInfo-Qt_Checks.yml
@@ -38,7 +38,8 @@ jobs:
- name: Checkout brotli
uses: actions/checkout@v6
with:
- repository: MediaArea/brotli
+ repository: cjee21/brotli #!! TO CHANGE !!
+ ref: MSVC #!! TO REMOVE !!
path: brotli
- name: Checkout zlib
uses: actions/checkout@v6
@@ -53,7 +54,8 @@ jobs:
- name: Checkout MediaInfoLib
uses: actions/checkout@v6
with:
- repository: MediaArea/MediaInfoLib
+ repository: cjee21/MediaInfoLib #!! TO CHANGE !!
+ ref: jxl #!! TO REMOVE !!
path: MediaInfoLib
- name: Checkout MediaInfo
uses: actions/checkout@v6
diff --git a/.github/workflows/MediaInfo_Checks.yml b/.github/workflows/MediaInfo_Checks.yml
index 51fa017cd9..7a678d4834 100644
--- a/.github/workflows/MediaInfo_Checks.yml
+++ b/.github/workflows/MediaInfo_Checks.yml
@@ -40,7 +40,7 @@ jobs:
popd
- name: MediaInfoLib
run: |
- git -C .. clone --depth=1 https://github.com/MediaArea/MediaInfoLib.git
+ git -C .. clone --depth=1 -b jxl https://github.com/cjee21/MediaInfoLib.git #!! TO CHANGE !!
pushd ../MediaInfoLib/Project/GNU/Library
autoreconf -if
./configure --enable-static
@@ -100,7 +100,8 @@ jobs:
- name: Checkout brotli
uses: actions/checkout@v6
with:
- repository: MediaArea/brotli
+ repository: cjee21/brotli #!! TO CHANGE !!
+ ref: MSVC #!! TO REMOVE !!
path: brotli
- name: Checkout zlib
uses: actions/checkout@v6
@@ -115,7 +116,8 @@ jobs:
- name: Checkout MediaInfoLib
uses: actions/checkout@v6
with:
- repository: MediaArea/MediaInfoLib
+ repository: cjee21/MediaInfoLib #!! TO CHANGE !!
+ ref: jxl #!! TO REMOVE !!
path: MediaInfoLib
- name: Checkout MediaInfo
uses: actions/checkout@v6
@@ -175,7 +177,8 @@ jobs:
if: ${{ matrix.type == 'Windows (DLL) (x64)' }}
uses: actions/checkout@v6
with:
- repository: MediaArea/brotli
+ repository: cjee21/brotli #!! TO CHANGE !!
+ ref: MSVC #!! TO REMOVE !!
path: brotli
- name: Checkout zlib
if: ${{ matrix.type == 'Windows (DLL) (x64)' }}
@@ -193,7 +196,8 @@ jobs:
if: ${{ matrix.type == 'Windows (DLL) (x64)' }}
uses: actions/checkout@v6
with:
- repository: MediaArea/MediaInfoLib
+ repository: cjee21/MediaInfoLib #!! TO CHANGE !!
+ ref: jxl #!! TO REMOVE !!
path: MediaInfoLib
- name: Checkout MediaInfo
uses: actions/checkout@v6