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 class definition for the generic reader and packetizer 10 11 Written by Moritz Bunkus <moritz@bunkus.org>. 12 */ 13 14 #pragma once 15 16 #include "common/common_pch.h" 17 18 #include "common/id_info.h" 19 20 constexpr auto ID_RESULT_TRACK_AUDIO = "audio"; 21 constexpr auto ID_RESULT_TRACK_VIDEO = "video"; 22 constexpr auto ID_RESULT_TRACK_SUBTITLES = "subtitles"; 23 constexpr auto ID_RESULT_TRACK_BUTTONS = "buttons"; 24 constexpr auto ID_RESULT_TRACK_UNKNOWN = "unknown"; 25 constexpr auto ID_RESULT_CHAPTERS = "chapters"; 26 constexpr auto ID_RESULT_TAGS = "tags"; 27 constexpr auto ID_RESULT_GLOBAL_TAGS_ID = -1; 28 29 // When bumping the schema version: 30 // • increase `ID_JSON_FORMAT_VERSION` here 31 // • copy `doc/json-schema/mkvmerge-identification-output-schema-v….json` with the next version number 32 // • in the new copy adjust the following elements: 33 // 1. `id` 34 // 2. `properties` → `identification_format_version` → `minimum` and `maximum` 35 // • adjust the link in `doc/man/mkvmerge.xml` 36 constexpr auto ID_JSON_FORMAT_VERSION = 14; 37 38 struct id_result_t { 39 int64_t id; 40 std::string type, info, description; 41 mtx::id::verbose_info_t verbose_info; 42 int64_t size; 43 id_result_tid_result_t44 id_result_t() { 45 }; 46 id_result_tid_result_t47 id_result_t(int64_t p_id, 48 const std::string &p_type, 49 const std::string &p_info, 50 const std::string &p_description, 51 int64_t p_size) 52 : id{p_id} 53 , type{p_type} 54 , info{p_info} 55 , description{p_description} 56 , size{p_size} 57 { 58 } 59 id_result_tid_result_t60 id_result_t(const id_result_t &src) 61 : id{src.id} 62 , type{src.type} 63 , info{src.info} 64 , description{src.description} 65 , verbose_info{src.verbose_info} 66 , size{src.size} 67 { 68 } 69 }; 70 71 void id_result_container_unsupported(std::string const &filename, translatable_string_c const &info); 72