From: Steve Lhomme <robux4@ycbcr.xyz>
Date: Thu, 11 Jul 2024 14:06:59 +0200
Subject: demux: mkv: add missing helpers from libebml 2.0

The const versions are more versatile.

(cherry picked from commit 42945dadb88c72bd6b34a3468f4ac125d81198f1)
---
 modules/demux/mkv/mkv.hpp | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/modules/demux/mkv/mkv.hpp b/modules/demux/mkv/mkv.hpp
index 27a1566..2ea8035 100644
--- a/modules/demux/mkv/mkv.hpp
+++ b/modules/demux/mkv/mkv.hpp
@@ -117,6 +117,19 @@ enum
 #define MKV_CHECKED_PTR_DECL( name, type, src ) type * name = MKV_IS_ID(src, type) ? static_cast<type*>(src) : NULL
 #define MKV_CHECKED_PTR_DECL_CONST( name, type, src ) const type * name = MKV_IS_ID(src, type) ? static_cast<const type*>(src) : NULL
 
+#if LIBEBML_VERSION < 0x020000
+template <typename Type>
+Type * FindChild(const EbmlMaster & Master)
+{
+  return static_cast<Type *>(Master.FindFirstElt(EBML_INFO(Type)));
+}
+
+template <typename Type>
+Type * FindNextChild(const EbmlMaster & Master, const Type & PastElt)
+{
+  return static_cast<Type *>(Master.FindNextElt(PastElt));
+}
+#endif
 
 using namespace LIBMATROSKA_NAMESPACE;
 
