[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