[vlc-commits] [Git][videolan/vlc][master] 4 commits: contrib: libaribcaption: Add missing includes

Steve Lhomme (@robUx4) gitlab at videolan.org
Sun May 3 15:22:26 UTC 2026



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
f00f551b by Martin Storsjö at 2026-05-03T14:44:21+00:00
contrib: libaribcaption: Add missing includes

This fixes building with libc++ with
_LIBCPP_REMOVE_TRANSITIVE_INCLUDES set (which removes unnecessary
transitive dependencies, making it more strict wrt including all
the right headers). This will become the default in a few
versions.

This is a backport of upstream commit
c09831c1ed0fd4ea91a7f1f4ec539fede507c25f.

- - - - -
51756875 by Martin Storsjö at 2026-05-03T14:44:21+00:00
contrib: ebml: Add missing includes

This fixes building with libc++ with
_LIBCPP_REMOVE_TRANSITIVE_INCLUDES set (which removes unnecessary
transitive dependencies, making it more strict wrt including all
the right headers). This will become the default in a few
versions.

This is a backport of upstream commits
f2b7fb66229705f43f744cd5e4732b83803828c4 and
3a2ab2c706b31fea4f92cd362c93e2aa7875ccf8.

- - - - -
d6d8a3b5 by Martin Storsjö at 2026-05-03T14:44:21+00:00
contrib: taglib: Add missing includes

This fixes building with libc++ with
_LIBCPP_REMOVE_TRANSITIVE_INCLUDES set (which removes unnecessary
transitive dependencies, making it more strict wrt including all
the right headers). This will become the default in a few
versions.

This is a backport of upstream commit
3c917caf52b6d14bfb548d4dc27d8601815edbe2.

- - - - -
e82e3968 by Martin Storsjö at 2026-05-03T14:44:21+00:00
modules: Add missing includes

This fixes building with libc++ with
_LIBCPP_REMOVE_TRANSITIVE_INCLUDES set (which removes unnecessary
transitive dependencies, making it more strict wrt including all
the right headers). This will become the default in a few
versions.

There are potentially other cases missing as well, but these are
the ones that come up in a mingw build.

- - - - -


13 changed files:

- + contrib/src/ebml/0001-include-iterator-for-std-back_inserter.patch
- + contrib/src/ebml/0002-include-new-for-std-nothrow.patch
- contrib/src/ebml/rules.mak
- + contrib/src/libaribcaption/0001-Add-missing-includes.patch
- contrib/src/libaribcaption/rules.mak
- + contrib/src/taglib/0001-Fix-std-ostream-not-defined-on-Android-NDK-29.0.1403.patch
- contrib/src/taglib/rules.mak
- modules/access/live555.cpp
- modules/demux/adaptive/http/HTTPConnection.cpp
- modules/demux/adaptive/plumbing/FakeESOut.cpp
- modules/demux/smooth/playlist/CodecParameters.cpp
- modules/stream_out/sdi/DBMSDIOutput.cpp
- modules/stream_out/sdi/SDIAudioMultiplex.cpp


Changes:

=====================================
contrib/src/ebml/0001-include-iterator-for-std-back_inserter.patch
=====================================
@@ -0,0 +1,37 @@
+From 3a2ab2c706b31fea4f92cd362c93e2aa7875ccf8 Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <robux4 at ycbcr.xyz>
+Date: Sat, 2 May 2026 10:19:11 +0200
+Subject: [PATCH 1/2] include iterator for std::back_inserter
+
+---
+ src/EbmlMaster.cpp        | 1 +
+ src/EbmlUnicodeString.cpp | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/src/EbmlMaster.cpp b/src/EbmlMaster.cpp
+index 465560f..1340931 100644
+--- a/src/EbmlMaster.cpp
++++ b/src/EbmlMaster.cpp
+@@ -36,6 +36,7 @@
+ 
+ #include <cassert>
+ #include <algorithm>
++#include <iterator>
+ 
+ #include "ebml/EbmlMaster.h"
+ #include "ebml/EbmlStream.h"
+diff --git a/src/EbmlUnicodeString.cpp b/src/EbmlUnicodeString.cpp
+index 570af17..481e358 100644
+--- a/src/EbmlUnicodeString.cpp
++++ b/src/EbmlUnicodeString.cpp
+@@ -36,6 +36,7 @@
+ */
+ 
+ #include <cassert>
++#include <iterator>
+ #include <limits>
+ 
+ #include "ebml/EbmlUnicodeString.h"
+-- 
+2.43.0
+


=====================================
contrib/src/ebml/0002-include-new-for-std-nothrow.patch
=====================================
@@ -0,0 +1,64 @@
+From 9b4f8cd0400dff2084c9a54d6d521efb92622960 Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <robux4 at ycbcr.xyz>
+Date: Sat, 2 May 2026 10:20:51 +0200
+Subject: [PATCH 2/2] include new for std::nothrow
+
+---
+ src/EbmlCrc32.cpp         | 2 ++
+ src/EbmlElement.cpp       | 1 +
+ src/EbmlString.cpp        | 1 +
+ src/EbmlUnicodeString.cpp | 1 +
+ 4 files changed, 5 insertions(+)
+
+diff --git a/src/EbmlCrc32.cpp b/src/EbmlCrc32.cpp
+index 45765bf..65ee319 100644
+--- a/src/EbmlCrc32.cpp
++++ b/src/EbmlCrc32.cpp
+@@ -38,6 +38,8 @@
+ #include "ebml/EbmlContexts.h"
+ #include "ebml/MemIOCallback.h"
+ 
++#include <new>
++
+ #ifdef WORDS_BIGENDIAN
+ static constexpr uint32_t CRC32_INDEX(uint32_t c) { return c >> 24; }
+ static constexpr uint32_t CRC32_SHIFTED(uint32_t c) { return c << 8; }
+diff --git a/src/EbmlElement.cpp b/src/EbmlElement.cpp
+index 6f974c5..2bbf653 100644
+--- a/src/EbmlElement.cpp
++++ b/src/EbmlElement.cpp
+@@ -36,6 +36,7 @@
+ #include <cstdlib>
+ #include <cstring>
+ #include <iostream>
++#include <new>
+ #include <stdexcept>
+ #include <sstream>
+ 
+diff --git a/src/EbmlString.cpp b/src/EbmlString.cpp
+index 66b3338..fbfdf96 100644
+--- a/src/EbmlString.cpp
++++ b/src/EbmlString.cpp
+@@ -34,6 +34,7 @@
+   \author Steve Lhomme     <robux4 @ users.sf.net>
+ */
+ #include <cassert>
++#include <new>
+ #include <limits>
+ 
+ #include "ebml/EbmlString.h"
+diff --git a/src/EbmlUnicodeString.cpp b/src/EbmlUnicodeString.cpp
+index 481e358..dd77200 100644
+--- a/src/EbmlUnicodeString.cpp
++++ b/src/EbmlUnicodeString.cpp
+@@ -38,6 +38,7 @@
+ #include <cassert>
+ #include <iterator>
+ #include <limits>
++#include <new>
+ 
+ #include "ebml/EbmlUnicodeString.h"
+ 
+-- 
+2.43.0
+


=====================================
contrib/src/ebml/rules.mak
=====================================
@@ -19,6 +19,8 @@ ebml: libebml-$(EBML_VERSION).tar.xz .sum-ebml
 	$(APPLY) $(SRC)/ebml/0001-EbmlMaster-fix-leak-when-reading-upper-level-element.patch
 	$(APPLY) $(SRC)/ebml/0002-EbmlMaster-exit-reading-loop-if-upper-element-found-.patch
 	$(APPLY) $(SRC)/ebml/0001-EbmlHead-do-not-allow-to-have-an-infinite-unknown-si.patch
+	$(APPLY) $(SRC)/ebml/0001-include-iterator-for-std-back_inserter.patch
+	$(APPLY) $(SRC)/ebml/0002-include-new-for-std-nothrow.patch
 	$(MOVE)
 
 .ebml: ebml toolchain.cmake


=====================================
contrib/src/libaribcaption/0001-Add-missing-includes.patch
=====================================
@@ -0,0 +1,35 @@
+From c09831c1ed0fd4ea91a7f1f4ec539fede507c25f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Martin=20Storsj=C3=B6?= <martin at martin.st>
+Date: Fri, 1 May 2026 22:32:42 +0300
+Subject: [PATCH] Add missing includes
+
+This file uses std::nothrow which is declared in <new>, and
+free() which is declared in stdlib.h.
+
+Previously, these declarations have been included implicitly
+through transitive include files. However, libc++ will soon
+reduce the number of extra transitive include files [1], and when
+this happens, building fails unless <new> and <stdlib.h>
+explicitly are included here.
+
+[1] https://discourse.llvm.org/t/rfc-remove-unused-transitive-includes-from-the-libc-headers/90157
+---
+ src/common/caption_capi.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/common/caption_capi.cpp b/src/common/caption_capi.cpp
+index 7a7336c..165385f 100644
+--- a/src/common/caption_capi.cpp
++++ b/src/common/caption_capi.cpp
+@@ -19,6 +19,8 @@
+ #include <cstddef>
+ #include <cstdint>
+ #include <cstring>
++#include <new>
++#include <stdlib.h>
+ #include "aribcaption/caption.h"
+ #include "aribcaption/caption.hpp"
+ #include "base/utf_helper.hpp"
+-- 
+2.43.0
+


=====================================
contrib/src/libaribcaption/rules.mak
=====================================
@@ -34,6 +34,7 @@ $(TARBALLS)/libaribcaption-$(LIBARIBCC_VERSION).tar.gz:
 libaribcaption: libaribcaption-$(LIBARIBCC_VERSION).tar.gz .sum-libaribcaption
 	$(UNPACK)
 	$(APPLY) $(SRC)/libaribcaption/0001-Fix-libunwind-static-linking-on-Android-toolchains.patch
+	$(APPLY) $(SRC)/libaribcaption/0001-Add-missing-includes.patch
 	$(MOVE)
 
 LIBARIBCC_CONF := \


=====================================
contrib/src/taglib/0001-Fix-std-ostream-not-defined-on-Android-NDK-29.0.1403.patch
=====================================
@@ -0,0 +1,26 @@
+From 3c917caf52b6d14bfb548d4dc27d8601815edbe2 Mon Sep 17 00:00:00 2001
+From: Artem Umerov <artem1999.umerov at gmail.com>
+Date: Thu, 4 Sep 2025 09:28:25 +0300
+Subject: [PATCH] Fix std::ostream not defined on Android NDK 29.0.14033849
+
+Fix std::ostream not defined on Android NDK 29.0.14033849
+---
+ taglib/toolkit/tvariant.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/taglib/toolkit/tvariant.h b/taglib/toolkit/tvariant.h
+index a8408e54..26c67ec3 100644
+--- a/taglib/toolkit/tvariant.h
++++ b/taglib/toolkit/tvariant.h
+@@ -26,7 +26,7 @@
+ #ifndef TAGLIB_VARIANT_H
+ #define TAGLIB_VARIANT_H
+ 
+-#include <iosfwd>
++#include <sstream>
+ 
+ #include "tlist.h"
+ #include "tmap.h"
+-- 
+2.43.0
+


=====================================
contrib/src/taglib/rules.mak
=====================================
@@ -24,6 +24,7 @@ $(TARBALLS)/utfcpp-$(UTFCPP_VERSION).tar.gz:
 
 taglib: taglib-$(TAGLIB_VERSION).tar.gz .sum-taglib
 	$(UNPACK)
+	$(APPLY) $(SRC)/taglib/0001-Fix-std-ostream-not-defined-on-Android-NDK-29.0.1403.patch
 	$(MOVE)
 
 taglib/3rdparty/utfcpp: utfcpp-$(UTFCPP_VERSION).tar.gz .sum-utfcpp taglib


=====================================
modules/access/live555.cpp
=====================================
@@ -36,6 +36,7 @@
 #include <climits>
 #include <cstdint>
 #include <new>
+#include <cstdlib>
 
 #include <vlc_common.h>
 #include <vlc_arrays.h>


=====================================
modules/demux/adaptive/http/HTTPConnection.cpp
=====================================
@@ -28,6 +28,7 @@
 #include "../plumbing/SourceStream.hpp"
 
 #include <optional>
+#include <cstdlib>
 
 #include <vlc_stream.h>
 #include <vlc_keystore.h>


=====================================
modules/demux/adaptive/plumbing/FakeESOut.cpp
=====================================
@@ -28,6 +28,7 @@
 #include <vlc_es_out.h>
 #include <vlc_block.h>
 #include <cassert>
+#include <cstdlib>
 
 using namespace adaptive;
 


=====================================
modules/demux/smooth/playlist/CodecParameters.cpp
=====================================
@@ -23,6 +23,8 @@
 
 #include "CodecParameters.hpp"
 
+#include <cstdlib>
+
 using namespace smooth::playlist;
 
 CodecParameters::CodecParameters()


=====================================
modules/stream_out/sdi/DBMSDIOutput.cpp
=====================================
@@ -23,6 +23,7 @@
 #endif
 
 #include <algorithm>
+#include <cstdlib>
 
 #include <vlc_common.h>
 #include <vlc_es.h>


=====================================
modules/stream_out/sdi/SDIAudioMultiplex.cpp
=====================================
@@ -27,6 +27,7 @@
 #include <limits>
 #include <cstring>
 #include <algorithm>
+#include <cstdlib>
 
 using namespace sdi_sout;
 



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/4360268a8f1f5071d371641056161ef5bddf3c08...e82e3968785a4e06ecd964200aebcc277a7e0dbe

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/4360268a8f1f5071d371641056161ef5bddf3c08...e82e3968785a4e06ecd964200aebcc277a7e0dbe
You're receiving this email because of your account on code.videolan.org.




More information about the vlc-commits mailing list