1 /* 2 mkvmerge -- utility for splicing together matroska files 3 from component media subtypes 4 5 Distributed under the GPL v2 6 see the file COPYING for details 7 or visit https://www.gnu.org/licenses/old-licenses/gpl-2.0.html 8 9 Written by Moritz Bunkus <moritz@bunkus.org>. 10 */ 11 12 #pragma once 13 14 #include "common/common_pch.h" 15 16 namespace mtx { 17 18 class kax_element_names_c { 19 protected: 20 static std::unordered_map<uint32_t, std::string> ms_names; 21 22 public: 23 kax_element_names_c() = delete; 24 25 static std::string get(uint32_t id); get(libebml::EbmlId const & id)26 static std::string get(libebml::EbmlId const &id) { 27 return get(id.GetValue()); 28 } get(libebml::EbmlElement const & elt)29 static std::string get(libebml::EbmlElement const &elt) { 30 return get(libebml::EbmlId(elt).GetValue()); 31 } 32 33 static void init(); 34 static void reset(); 35 }; 36 37 } 38