mirror of
https://gitlab.com/mbunkus/mkvtoolnix.git
synced 2024-12-24 11:54:01 +00:00
identification: output stream_id & sub_stream_id as integers; drop ts_pid
This commit is contained in:
parent
99df8a5435
commit
0bf1e14100
6
NEWS.md
6
NEWS.md
@ -33,6 +33,12 @@
|
||||
invalid codec ID (e.g. `V_MPEG7`) in certain cases. Fixes #1995.
|
||||
* mkvmerge: MPEG PS reader: made the file type detection less strict so that
|
||||
garbage at the start of the file doesn't prevent detection. Fixes #2008.
|
||||
* mkvmerge: JSON identification: the `stream_id` and `sub_stream_id` track
|
||||
properties were output as hexadecimal strings instead of unsigned
|
||||
integers. As the `ts_pid` track property was only used for MPEG transport
|
||||
streams, its value is now output as `stream_id` instead, and the `ts_pid`
|
||||
property has been removed. The JSON schema version has been bumped to 8 due
|
||||
to this change.
|
||||
|
||||
|
||||
# Version 12.0.0 "Trust / Lust" 2017-05-20
|
||||
|
440
doc/json-schema/mkvmerge-identification-output-schema-v8.json
Normal file
440
doc/json-schema/mkvmerge-identification-output-schema-v8.json
Normal file
@ -0,0 +1,440 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
||||
"id": "https://mkvtoolnix.download/doc/mkvmerge-identification-output-schema-v8.json",
|
||||
"title": "mkvmerge identification output",
|
||||
"description": "The JSON output produced by mkvmerge's file identification mode",
|
||||
"additionalProperties": false,
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"attachments": {
|
||||
"description": "an array describing the attachments found if any",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"additionalProperties": false,
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"content_type": {
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
},
|
||||
"description": {
|
||||
"type": "string"
|
||||
},
|
||||
"file_name": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"size": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"properties": {
|
||||
"additionalProperties": false,
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"uid": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"type": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"file_name",
|
||||
"id",
|
||||
"properties",
|
||||
"size"
|
||||
]
|
||||
}
|
||||
},
|
||||
"chapters": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"additionalProperties": false,
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"num_entries": {
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"num_entries"
|
||||
]
|
||||
}
|
||||
},
|
||||
"container": {
|
||||
"additionalProperties": false,
|
||||
"description": "information about the identified container",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"properties": {
|
||||
"additionalProperties": false,
|
||||
"description": "additional properties for the container varying by container format",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"container_type": {
|
||||
"description": "A unique number identifying the container type that's supposed to stay constant over all future releases of MKVToolNix",
|
||||
"type": "integer",
|
||||
"minLength": 1
|
||||
},
|
||||
"date_local": {
|
||||
"description": "The muxing date in ISO 8601 format (in local time zone)",
|
||||
"type": "string",
|
||||
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}([+-][0-9]{2}:[0-9]{2}|Z)$"
|
||||
},
|
||||
"date_utc": {
|
||||
"description": "The muxing date in ISO 8601 format (in UTC)",
|
||||
"type": "string",
|
||||
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}([+-][0-9]{2}:[0-9]{2}|Z)$"
|
||||
},
|
||||
"duration": {
|
||||
"description": "The file's/segment's duration in nanoseconds",
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"is_providing_timecodes": {
|
||||
"description": "States whether or not the container has timestamps for the packets (e.g. Matroska, MP4) or not (e.g. SRT, MP3)",
|
||||
"type": "boolean"
|
||||
},
|
||||
"muxing_application": {
|
||||
"description": "A Unicode string containing the name and possibly version of the low-level library or application that created the file",
|
||||
"type": "string"
|
||||
},
|
||||
"next_segment_uid": {
|
||||
"description": "A hexadecimal string of the next segment's UID (only for Matroska files)",
|
||||
"type": "string",
|
||||
"minLength": 32,
|
||||
"maxLength": 32
|
||||
},
|
||||
"other_file": {
|
||||
"description": "An array of names of additional files processed as well",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"playlist": {
|
||||
"description": "States whether or not the identified file is a playlist (e.g. MPLS) referring to several other files",
|
||||
"type": "boolean"
|
||||
},
|
||||
"playlist_chapters": {
|
||||
"description": "The number of chapters in a playlist if it is a one",
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"playlist_duration": {
|
||||
"description": "The total duration in nanoseconds of all files referenced by the playlist if it is a one",
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"playlist_file": {
|
||||
"description": "An array of file names the playlist contains",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"playlist_size": {
|
||||
"description": "The total size in bytes of all files referenced by the playlist if it is a one",
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"previous_segment_uid": {
|
||||
"description": "A hexadecimal string of the previous segment's UID (only for Matroska files)",
|
||||
"type": "string",
|
||||
"minLength": 32,
|
||||
"maxLength": 32
|
||||
},
|
||||
"programs": {
|
||||
"description": "A container describing multiple programs multiplexed into the source file, e.g. multiple programs in one DVB transport stream",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"additionalProperties": false,
|
||||
"description": "Properties describing a single program",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"program_number": {
|
||||
"description": "A unique number identifying a set of tracks that belong together; used e.g. in DVB for multiplexing multiple stations within a single transport stream",
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"service_name": {
|
||||
"description": "The name of a service provided by this program, e.g. a TV channel name such as 'arte HD'",
|
||||
"type": "string"
|
||||
},
|
||||
"service_provider": {
|
||||
"description": "The name of the provider of the service provided by this program, e.g. a TV station name such as 'ARD'",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"segment_uid": {
|
||||
"description": "A hexadecimal string of the segment's UID (only for Matroska files)",
|
||||
"type": "string",
|
||||
"minLength": 32,
|
||||
"maxLength": 32
|
||||
},
|
||||
"title": {
|
||||
"type": "string"
|
||||
},
|
||||
"writing_application": {
|
||||
"description": "A Unicode string containing the name and possibly version of the high-level application that created the file",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"recognized": {
|
||||
"description": "States whether or not mkvmerge knows about the format",
|
||||
"type": "boolean"
|
||||
},
|
||||
"supported": {
|
||||
"description": "States whether or not mkvmerge can read the format",
|
||||
"type": "boolean"
|
||||
},
|
||||
"type": {
|
||||
"description": "A human-readable description/name for the container format",
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"recognized",
|
||||
"supported"
|
||||
]
|
||||
},
|
||||
"errors": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"file_name": {
|
||||
"description": "the identified file's name",
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
},
|
||||
"global_tags": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"additionalProperties": false,
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"num_entries": {
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"num_entries"
|
||||
]
|
||||
}
|
||||
},
|
||||
"identification_format_version": {
|
||||
"description": "The output format's version",
|
||||
"type": "integer",
|
||||
"minimum": 8,
|
||||
"maximum": 8
|
||||
},
|
||||
"track_tags": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"additionalProperties": false,
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"num_entries": {
|
||||
"type": "integer"
|
||||
},
|
||||
"track_id": {
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"num_entries",
|
||||
"track_id"
|
||||
]
|
||||
}
|
||||
},
|
||||
"tracks": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"additionalProperties": false,
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"codec": {
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
},
|
||||
"id": {
|
||||
"type": "integer",
|
||||
"minLength": 0
|
||||
},
|
||||
"type": {
|
||||
"type": "string"
|
||||
},
|
||||
"properties": {
|
||||
"additionalProperties": false,
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"aac_is_sbr": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"true",
|
||||
"false",
|
||||
"unknown"
|
||||
]
|
||||
},
|
||||
"audio_bits_per_sample": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"audio_channels": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"audio_sampling_frequency": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"codec_delay": {
|
||||
"type": "integer"
|
||||
},
|
||||
"codec_id": {
|
||||
"type": "string"
|
||||
},
|
||||
"codec_private_data": {
|
||||
"type": "string"
|
||||
},
|
||||
"codec_private_length": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"content_encoding_algorithms": {
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
},
|
||||
"default_duration": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"default_track": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"display_dimensions": {
|
||||
"type": "string",
|
||||
"pattern": "^[0-9]+x[0-9]+$"
|
||||
},
|
||||
"enabled_track": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"forced_track": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"language": {
|
||||
"type": "string"
|
||||
},
|
||||
"minimum_timestamp": {
|
||||
"description": "The minimum timestamp in nanoseconds of all the frames of this track found within the first couple of seconds of the file",
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"multiplexed_tracks": {
|
||||
"description": "An array of track IDs indicating which tracks were originally multiplexed within the same track in the source file",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
}
|
||||
},
|
||||
"number": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"packetizer": {
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
},
|
||||
"pixel_dimensions": {
|
||||
"type": "string",
|
||||
"pattern": "^[0-9]+x[0-9]+$"
|
||||
},
|
||||
"program_number": {
|
||||
"description": "A unique number identifying a set of tracks that belong together; used e.g. in DVB for multiplexing multiple stations within a single transport stream",
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"stereo_mode": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"stream_id": {
|
||||
"description": "A format-specific ID identifying a track, possibly in combination with a 'sub_stream_id' (e.g. the program ID in an MPEG transport stream)",
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"sub_stream_id": {
|
||||
"description": "A format-specific ID identifying a track together with a 'stream_id'",
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"tag_artist": {
|
||||
"type": "string"
|
||||
},
|
||||
"tag_bitsps": {
|
||||
"type": "string"
|
||||
},
|
||||
"tag_bps": {
|
||||
"type": "string"
|
||||
},
|
||||
"tag_fps": {
|
||||
"type": "string"
|
||||
},
|
||||
"tag_title": {
|
||||
"type": "string"
|
||||
},
|
||||
"teletext_page": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"text_subtitles": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"track_name": {
|
||||
"type": "string"
|
||||
},
|
||||
"uid": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"codec",
|
||||
"id",
|
||||
"type"
|
||||
]
|
||||
}
|
||||
},
|
||||
"warnings": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -69,7 +69,6 @@ char const * const teletext_page = "teletext_page";
|
||||
char const * const text_subtitles = "text_subtitles"; // track boolean
|
||||
char const * const title = "title"; // container unicoode-string
|
||||
char const * const track_name = "track_name"; // track unicoode-string
|
||||
char const * const ts_pid = "ts_pid"; // track unsigned-integer
|
||||
char const * const uid = "uid"; // track attachments unsigned-integer
|
||||
char const * const writing_application = "writing_application"; // container unicode-string
|
||||
|
||||
|
@ -1411,8 +1411,8 @@ mpeg_ps_reader_c::identify() {
|
||||
info.add(mtx::id::packetizer, mtx::id::mpeg4_p10_es_video);
|
||||
|
||||
info.set(mtx::id::number, (static_cast<uint64_t>(track->id.sub_id) << 32) | static_cast<uint64_t>(track->id.id));
|
||||
info.add(mtx::id::stream_id, boost::format("%|1$02x|") % track->id.id);
|
||||
info.add(mtx::id::sub_stream_id, boost::format("%|1$02x|") % track->id.sub_id);
|
||||
info.add(mtx::id::stream_id, track->id.id);
|
||||
info.add(mtx::id::sub_stream_id, track->id.sub_id);
|
||||
|
||||
if ((0 != track->v_dwidth) && (0 != track->v_dheight))
|
||||
info.add(mtx::id::display_dimensions, boost::format("%1%x%2%") % track->v_dwidth % track->v_dheight);
|
||||
|
@ -1339,7 +1339,7 @@ reader_c::identify() {
|
||||
for (auto const &track : m_tracks) {
|
||||
info = mtx::id::info_c{};
|
||||
info.add(mtx::id::language, track->language);
|
||||
info.set(mtx::id::ts_pid, track->pid);
|
||||
info.set(mtx::id::stream_id, track->pid);
|
||||
info.set(mtx::id::number, track->pid);
|
||||
|
||||
if (track->program_number)
|
||||
|
@ -27,7 +27,7 @@
|
||||
#define ID_RESULT_TAGS "tags"
|
||||
#define ID_RESULT_GLOBAL_TAGS_ID -1
|
||||
|
||||
#define ID_JSON_FORMAT_VERSION 7
|
||||
#define ID_JSON_FORMAT_VERSION 8
|
||||
|
||||
struct id_result_t {
|
||||
int64_t id;
|
||||
|
@ -206,7 +206,7 @@ T_357segment_info:c734542adcdeca270db3b6e41fd85ffc-61d4730547bcd79e9a692caa4c214
|
||||
T_358usf:13cc323a8e690b4e1c236010938e1ee3:passed:20120329-142144:0.051754089
|
||||
T_359split_parts:be3881a6d90a7d2011c1e74f4ad31664+409aad9a66b8bc221692983eafa21d2f+ok-c62446819af26a351963b51fb7b1d0f6+ok-fd0291d21750277fd9627779207b0292+ok-497448adf872f4050f5e34d9aacf5fa0+4f25451d573042cfdff4809a28638e93+782db07154db9054ff9f0ef3bf1235c6+f129ab41e298b6358fc0197c92c3da5f+ea7605c6da77b5181202d0806191d635+4e8b657d7e371b84a7d89232e5c9fb3f+d8a3056038a13acc3caa11fa8581d085+ok-585946cee0f3e37ab27d7fb09d894081+ok-bbb672ffe01a2f1028aae61551429d8d+ok:passed:20120331-133448:2.321768368
|
||||
T_360X_chapters_hex_format:87a60c81c05fb0a153a2e041485ae2cb-3853793b0d88fc10efadb146ca948833:passed:20120404-152038:0.047282116
|
||||
T_361file_concatenation:VTS_01_2.VOB+VTS_01_3.VOB-5150304df7cc54a8a7ce123fb2139915-5150304df7cc54a8a7ce123fb2139915-18d827a751d6a222faa88f6653217eaa-18d827a751d6a222faa88f6653217eaa-18d827a751d6a222faa88f6653217eaa-16d653d956e995f4703b76b1b49b216a-726778f05af1e64c4369b7bfde052deb-812c9a65bd6f6e0cea9a4bfd55d4e60d-812c9a65bd6f6e0cea9a4bfd55d4e60d-812c9a65bd6f6e0cea9a4bfd55d4e60d-812c9a65bd6f6e0cea9a4bfd55d4e60d-174af56dfde3a6a981c5a1330cdeec9e-35725dd002d6504fdaf74aa10374ba8b-d5c0b1e44d4264a735728989b341766d-d5c0b1e44d4264a735728989b341766d:passed:20120406-144928:18.646532342
|
||||
T_361file_concatenation:VTS_01_2.VOB+VTS_01_3.VOB-5150304df7cc54a8a7ce123fb2139915-5150304df7cc54a8a7ce123fb2139915-18d827a751d6a222faa88f6653217eaa-18d827a751d6a222faa88f6653217eaa-18d827a751d6a222faa88f6653217eaa-16d653d956e995f4703b76b1b49b216a-7a9aca3ab76152ba1208edc1f0658ae3-812c9a65bd6f6e0cea9a4bfd55d4e60d-812c9a65bd6f6e0cea9a4bfd55d4e60d-812c9a65bd6f6e0cea9a4bfd55d4e60d-812c9a65bd6f6e0cea9a4bfd55d4e60d-174af56dfde3a6a981c5a1330cdeec9e-35725dd002d6504fdaf74aa10374ba8b-d5c0b1e44d4264a735728989b341766d-d5c0b1e44d4264a735728989b341766d:passed:20120406-144928:18.646532342
|
||||
T_362xtr_avc:faee8c13c47987ca6e6b7485dede33d1-49ae33bdb1e43de90886bc2ac6410c35:passed:20120416-153515:1.811589633
|
||||
T_363srt_colon_decimal_separator:d75be97f27797c8b3fc62e5d39a8d7ea:passed:20120520-180625:0.032379535
|
||||
T_364qtmp4_track_with_empty_chunkmap_table:4ea0286db77d23ffef924eaaaf7df2ff:passed:20120605-223925:0.168392001
|
||||
@ -334,7 +334,7 @@ T_485dtshd_file_format:577be0cf2bffc155aacd74a7bc2619dd:passed:20150329-085728:1
|
||||
T_486m2ts_eac3_with_extension_in_own_packet:269fd88c108c1d75c0786d77bb1d7dfd:passed:20150329-193642:0.518299841
|
||||
T_487matroska_version_and_read_version_with_opus:4+2-4+2-4+2-4+1-4+2-4+1-4+1-4+1:passed:20150329-213811:0.670610463
|
||||
T_488hevc_conformance_window_with_cropping:226d979f7f63a760c4f7bd810489e6b9:passed:20150329-220212:0.705828455
|
||||
T_489dts_es:e059ff6eeccfa252b2d8800986454344-5dba4ea9e348f9597b1bbff55a196090-5267ba597ef409d504d374cd86184bd5:passed:20150403-115948:1.604769748
|
||||
T_489dts_es:e059ff6eeccfa252b2d8800986454344-44e02c8dc1900f2ed5c9db681c8ad2bb-59755653b7606cf26dac1442843fff14:passed:20150403-115948:1.604769748
|
||||
T_490sequence_numbers_no_0_in_first_gop:a97ae3e07fdf326e81a20ebd0e1501b1:passed:20150411-142423:0.832402022
|
||||
T_491auto_additional_files_only_with_vts_prefix:18d827a751d6a222faa88f6653217eaa:passed:20150413-202924:0.904251401
|
||||
T_492truehd_ac3_setting_track_properties:076b157723cf84fa785130f4f87f15ab-cf8baeb632991b669c172fa96278d11a-5eb0ff15ecb155e7828f6724a60b77d1-ec21ebdd433ed1a6f9d25a337323045b-ab9b806b3de4e93c52e767f925111834-c1644709f2dd31bb03e3555e96ad12f3:passed:20150413-211600:9.416716642
|
||||
@ -343,13 +343,13 @@ T_494dont_abort_with_aac_error_proection_specific_config:4421368e078a52e327fe599
|
||||
T_495default_durataion_and_sync:66ee6174221a286f9135c3ac03940123-ed8359ff8091f0e2f988a35d413bcb18-f8a8af8f2f72aa8dd939228c15279937:passed:20150417-213623:0.894261521
|
||||
T_496segment_size_0:9fd6d5e57b47693a483f9aad112a6a15-fb1ff3f0a28e38e500ad86a6f32102f4:passed:20150530-180226:0.051304978
|
||||
T_497crash_in_base64_decoder:f6526cfaaef01627c52ee2ba25f03255:passed:20150601-192215:0.02848152
|
||||
T_498mp2_misidentification:c754793528a9b6fe8562f192c39b86b1-d817c5eb5a3829feb59b7b29e299d0fa:passed:20150610-111131:0.763502595
|
||||
T_498mp2_misidentification:40c0f7e955214249873fdb91389d0a10-8a2e0911844517c6c5c45027bba5faa1:passed:20150610-111131:0.763502595
|
||||
T_499propedit_tags_and_track_properties:bedbe63bce69a9a25f3fbf559dd6d078:passed:20150621-111029:0.162830224
|
||||
T_500mp4_eac3_fourcc_ec_3:c8c2e7ac4ec7e97c1c01dcea57741d11:passed:20150621-224248:0.192381554
|
||||
T_501mpeg_ts_pat_and_pmt_crc_errors:ef5b71e331cb7117edf016a4ff760a9d:passed:20150704-110859:0.857051787
|
||||
T_501mpeg_ts_pat_and_pmt_crc_errors:f257c363c10788fc80a068211e3d7efb:passed:20150704-110859:0.857051787
|
||||
T_502ui_locale_sr_RS:650e05c9c091234882980f4c1da05dc4-25fa402006e7971d8e5a2b1139a4c4d8:passed:20150829-213708:0.062939538
|
||||
T_503pcm_in_mkv_varying_samples_per_packet:091442963a5879e8e1d8fca62458a06a:passed:20151004-215848:0.430291421
|
||||
T_504dts_96_24_identification:74d0bc39191125f09b9bbc6e0841b6da-630738d0b59fef8a5921f616cffa7bfb-964f7a41cc535975db39657cb8312e1b:passed:20151006-223804:2.278995107
|
||||
T_504dts_96_24_identification:74d0bc39191125f09b9bbc6e0841b6da-630738d0b59fef8a5921f616cffa7bfb-1c41005f389e920cc2f964dcf0f174aa:passed:20151006-223804:2.278995107
|
||||
T_505cisco_talos_can_0036:8699becda57905638be811d04c1e72c7-6d30f4db33789d05862d950157ec3ba1:passed:20151020-161153:0.071686357
|
||||
T_506cisco_talos_can_0037:5461288548eac976164cd13f01bc9426-799e64fbae89387db0656e204b2d396b-92b7169fc05ddf54c46816869c108f31-54a55a6d87bd4c08269891efb03980b3-fef3d018523c7d1fbed763f6666c1ae2-ac584cc44854f9396739df6e93d78acc-b415b2ef2a6dddf5d89733446fae2970-dd53fee23372c569d35e0b2918d86239:passed:20151020-161234:0.319298931
|
||||
T_507rerender_track_headers:0572728ed778526af9a0e36c7872fab6-c49848577778e5c5146e5b875e3a07d6:passed:20151022-104930:2.573204876
|
||||
@ -357,7 +357,7 @@ T_508splitting_by_parts_with_segment_linking:existence0-true-true-true-existence
|
||||
T_509rerender_track_headers_chapters_attachments:aca9879facd444a739b8ea9ff0c471dc:passed:20151115-230226:0.287840782
|
||||
T_510propedit_add_attachments_without_meta_seek_present:770103c238a0f502c9ec55f0599d8544:passed:20151121-101043:0.070892905
|
||||
T_511propedit_ensure_seek_head_exists_at_front:20f53afd94e39f5bbf3f1091eefbe31d:passed:20151129-194025:0.152563199
|
||||
T_512json_identification:e2c1bd814ea805d9711a3875e646a51d+ok-d815a6390e25b861d21093ef66f17191+ok-27fd82d5208da05a2ab71d685aac666a+ok-a86b43982a842c6b9c8572534e40dcca+ok-24ca87f294c0ea279f0d3bd79bb11b2b+ok-e6e342718925ef84c9c65288d477ac76+ok-59c47f40f7c35d90a4a8ba0f15aebf5b+ok-92edb5e757f553b344192b8cf9961834+ok-63ac054cbe3d9eee3ac47d41f33186e3+ok-01f6792cb05fb5dd4823a5919a5565b4+ok-3f9fd90d34f591fa205eb235b1efe36c+ok-f7c9d7c612f38a0a2c0548a38008882f+ok-7c6ccc4d705a480fdba2c6c73047cd5c+ok-b137e5af83e68f2c52af9bfe3976a977+ok-c8b2bd3f66486fc47ad98d7b6a06f713+ok-d835b62858d51c2a5c37bc4c445c2968+ok-5b63f461edc27c33172b47e16dd677d5+ok:passed:20151207-223859:1.325386646
|
||||
T_512json_identification:e2c1bd814ea805d9711a3875e646a51d+ok-d815a6390e25b861d21093ef66f17191+ok-27fd82d5208da05a2ab71d685aac666a+ok-a86b43982a842c6b9c8572534e40dcca+ok-9167cad47e1f91998e3622e6d3aef1c1+ok-e6e342718925ef84c9c65288d477ac76+ok-59c47f40f7c35d90a4a8ba0f15aebf5b+ok-92edb5e757f553b344192b8cf9961834+ok-63ac054cbe3d9eee3ac47d41f33186e3+ok-01f6792cb05fb5dd4823a5919a5565b4+ok-3f9fd90d34f591fa205eb235b1efe36c+ok-684882d2b787328dc582a7676a8baa67+ok-7c6ccc4d705a480fdba2c6c73047cd5c+ok-b137e5af83e68f2c52af9bfe3976a977+ok-c8b2bd3f66486fc47ad98d7b6a06f713+ok-e824d350b4502a9897275820fced46bf+ok-dc49b24056e793c2f61f129b80417e1a+ok:passed:20151207-223859:1.325386646
|
||||
T_513vp9_10bit_key_frame_detection:3bdaa369dc5af73ced610d978f3bd53d:passed:20151208-224613:0.267556245
|
||||
T_514remove_track_statistics_tags_during_remux:f262df87ee15d60bbbe30ec5e4dea073-4342871017061370ac0989a9bb71e5c6-75205f286329069b201e4d5745f2cae4:passed:20151215-134129:1.426290351
|
||||
T_515aac_sampling_frequency_8000_is_not_sbr:545f3eae0c4163d31de81b3bf921e639:passed:20151219-130357:0.066237884
|
||||
@ -365,10 +365,10 @@ T_516hevc_rap_sample_grouping:ae5e57cc41ccdb5ed74f0db2f814f73c:passed:20151228-1
|
||||
T_517h264_forbidden_byte_sequence_in_slice_nalu:1d57559f8038e3b5cb0b7f26ab6c8e38:passed:20151228-134333:3.276176597
|
||||
T_518mlp:bc0269df9e0c0c968e4a408d7da46d35-0624d3f1975273199a0e12a9f4b0fd20:passed:20151229-134422:0.895368448
|
||||
T_519truehd:33f8c0f013c71529281179cf8669c567-33f8c0f013c71529281179cf8669c567:passed:20151229-135950:3.160459472
|
||||
T_520truehd_mlp_atmos_detection:9337a350fa1e3451ff22b16afe0c770c+true-307f37e86e9df0245aca5908c0409c66+true-a7940b456d8c3c56ca9f147bc8967813+true-531bd72e14816ccacd33202720f94544+true-e511625ccc45b303f27fa7bd4fa388f7+true-d835b62858d51c2a5c37bc4c445c2968+true:passed:20151229-160649:2.357134495
|
||||
T_520truehd_mlp_atmos_detection:9337a350fa1e3451ff22b16afe0c770c+true-307f37e86e9df0245aca5908c0409c66+true-a7940b456d8c3c56ca9f147bc8967813+true-531bd72e14816ccacd33202720f94544+true-9a3942f782990899bda8a4c68990db6e+true-e824d350b4502a9897275820fced46bf+true:passed:20151229-160649:2.357134495
|
||||
T_521mp4_edit_list_constant_offset_with_segment_duration_not_0:74128d330ac9bc76bb07eac24caabd5e:passed:20151228-185646:0.621563048
|
||||
T_522mpeg_1_2_es_no_start_code_at_beginning:970b4cffe91d16ca47df1c851fcf615f:passed:20151230-182435:0.299243222
|
||||
T_523mpeg_ts_pes_size_0:4865d64a0a5d711eb0818ac5fa9e836f-5864b5630b7308ea8dda9ef513d8267f:passed:20151230-221825:1.635929691
|
||||
T_523mpeg_ts_pes_size_0:4865d64a0a5d711eb0818ac5fa9e836f-6f8bf19915e948419e16d6fe7154a1c0:passed:20151230-221825:1.635929691
|
||||
T_524mpeg2_misdetected_as_truehd:929e5c4d568bb6056825d20132c02cf5:passed:20160102-222743:1.10526128
|
||||
T_525truehd_doesnt_start_with_sync_frame:dca6fbfe4f298d0f16bbcec4297d3c20:passed:20160104-205804:0.313378755
|
||||
T_526propedit_bibliographic_and_terminology_iso_639_2:f262df87ee15d60bbbe30ec5e4dea073-8f44d839d555e2683a08b3dd27e937e7-f262df87ee15d60bbbe30ec5e4dea073-8f44d839d555e2683a08b3dd27e937e7:passed:20160108-105234:0.538417963
|
||||
@ -392,7 +392,7 @@ T_543webvtt:d58c88b313584d36cb34ee8067d59769-89795b46ffdaedb70cd25bf62b2290b3-51
|
||||
T_544X_webvtt:0ea84e74bf6d4439dca14910b102abd1-d616381dff7d3d9ef0d82409d039e5c4-1ba3a6ea7faed9f1445feb00f41b87c9-1156c9c5852899af1d5f4b4c592dc3fe-67a47b92794777dd3fa83bc35a29ef88-09b2b283791ecb7401631d640d67d67e-b543cedb3953d783ae9b40ad5d9bc09a-7fabd75caf5b576686cebe878c4f94b1:passed:20160411-215720:0.124747579
|
||||
T_545avi_incomplete_audio_chunk_at_end:0e6019b1f480c1d04c0a70fded294318:passed:20160413-193628:1.212335416
|
||||
T_546teletext_multiple_pages_in_single_track:e0fbc55f5c66014b4b409af9d4f15ee6-f8f681ec715bcde3a1ebb0f351c41c8c-23788638361080147b04c6fe856e8555:passed:20160423-142735:1.833048739
|
||||
T_547mpeg_ts_ac3_stream_type_0x87:b7f7eeee9f63c680793963a1249c2664-3:passed:20160506-140318:1.513241071
|
||||
T_547mpeg_ts_ac3_stream_type_0x87:f4c3ab6163e452d73f7e6ca01462bd8b-3:passed:20160506-140318:1.513241071
|
||||
T_548generate_chapters_interval:7a335de6da52377b756f0863bb4d38a2-70-fe2051687797817299a036eb599bfee1-35-d9613b45c36c2c5845705a6f4c68fdc2-24-acfe41fad389e915050ab4081f11b91b-18-c0d2dd8b59cbb6a19e34d928e5f54ecb-14-04c6785cd0fdaf1f3eec98214c608cc7-12-9863a5c4f4ca482591ba6fbf7e96a9f2-10-49f33094bc883770b28d96c4ae3d569b-9-72ad4d54dd164f549d40864c3c285904-8-877fd2b6526f32177fa9ce18a7c2271e-7-ac20eaa935feebe20a17f0581c5a9e0b-4-154442bc0e0aa6bfbf977dcef248a1c3-3-e805d879a6f12ab7a2efd4b9dca4e78a-2-5940cb7e03197025291299efef020905-2-19a54cca5c7f681952aa8baf89dc57fc-2-e668981666602602e2ed5a1b8d47f6db-1:passed:20160515-114928:1.217313158
|
||||
T_549truehd_96khz_sample_rate:1b8ef071be7cafdaff5f46d50207dec1:passed:20160627-185805:0.382916063
|
||||
T_550wavpack4_stream_version_0x410:08114e7c9d21d8c72621cf345f77b850:passed:20160703-121539:0.033436384
|
||||
@ -442,9 +442,9 @@ T_593flac_with_picture_metadata:c5779b653e274bbb49d3ddf0a274c63c-c58da16285f0569
|
||||
T_594hevc_split_parts_discarding_start_endless_loop:2a8a74eadd0cdde9dab0199b899c86fb:passed:20170416-073513:0.635225717
|
||||
T_595h264_bogus_timing_info:78c27e10b35f3bfea09d8c005dead342:passed:20170417-200233:0.368456672
|
||||
T_596mpeg_ts_aac_loas_latm_misdetected_as_adts:5ae490a6b1e59d5382aa887355b7d96e:passed:20170424-170304:0.084835812
|
||||
T_597mpeg_ts_starting_with_avc_start_code:88846632aaba92f49f072ab0423e5bdc:passed:20170510-145746:0.077795359
|
||||
T_597mpeg_ts_starting_with_avc_start_code:bc286c61d98bc00899a0f85c0ee6f034:passed:20170510-145746:0.077795359
|
||||
T_598aac_track_not_listed_in_pmt:444929dd4db38e68b59a3ebf833e5128-AAC:passed:20170511-221910:0.0849745
|
||||
T_599mp4_nclx_colour_type_in_colr_atom:3639a6fdf7a0e46d158188fdd932bd2b:passed:20170514-203828:0.018287634
|
||||
T_600mpeg_ts_multiple_programs:890b456227714da673b137a941bf45b2-2a728cb7e28e2b05e8784aa8fd6f6827-d78702c82db3e49891717626ad0fb9fb-a210b7b90d61e14c7d5a5d97253f1bc2:passed:20170522-193901:1.342170107
|
||||
T_600mpeg_ts_multiple_programs:890b456227714da673b137a941bf45b2-ce6229630308da89250bd24ab23bf3ef-d78702c82db3e49891717626ad0fb9fb-b956e14605c08f25f071fed89c2b9c20:passed:20170522-193901:1.342170107
|
||||
T_601mp4_mpeg2_via_esds:5cadaf9b8dd86a51052182ed341a4bc0:passed:20170618-150319:0.386032567
|
||||
T_602vob_with_garbage_at_start:9ea25678a9a2746f9cb9bae8e73c766d:passed:20170619-185256:0.236132323
|
||||
T_602vob_with_garbage_at_start:c34788ceb7d96fe4ea073c6227026bea:passed:20170619-185256:0.236132323
|
||||
|
@ -333,7 +333,8 @@ class SimpleTest
|
||||
json_store = JsonSchema::DocumentStore.new
|
||||
parser = JsonSchema::Parser.new
|
||||
expander = JsonSchema::ReferenceExpander.new
|
||||
schema = parser.parse JSON.load(File.read("../doc/json-schema/mkvmerge-identification-output-schema-v7.json"))
|
||||
version = IO.readlines("../src/merge/id_result.h").detect { |line| /#define +ID_JSON_FORMAT_VERSION\b/.match line }.gsub(/.* .* /, '').chop
|
||||
schema = parser.parse JSON.load(File.read("../doc/json-schema/mkvmerge-identification-output-schema-v#{version}.json"))
|
||||
|
||||
expander.expand(schema, store: json_store)
|
||||
json_store.add_schema schema
|
||||
|
Loading…
Reference in New Issue
Block a user