propedit, header editor: support for muxing/writing application

Implements #1788.
This commit is contained in:
Moritz Bunkus 2016-10-06 21:09:09 +02:00
parent 3fe4565fbb
commit fa9f770311
5 changed files with 23 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2016-10-06 Moritz Bunkus <moritz@bunkus.org>
* mkvpropedit, MKVToolNix GUI's header editor: added options to
modify the "muxing application" and "writing application" elements
in the "segment information" container. Implements #1788.
2016-09-30 Moritz Bunkus <moritz@bunkus.org> 2016-09-30 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: The Ogg/OGM reader did not recognize Opus * mkvmerge: bug fix: The Ogg/OGM reader did not recognize Opus

View File

@ -106,6 +106,8 @@ property_element_c::init_tables() {
"segment between many others (128 bits).")); "segment between many others (128 bits)."));
ELE("prev-uid", KaxPrevUID::ClassInfos, Y("Previous segment's unique ID"), Y("A unique ID to identify the previous chained\nsegment (128 bits).")); ELE("prev-uid", KaxPrevUID::ClassInfos, Y("Previous segment's unique ID"), Y("A unique ID to identify the previous chained\nsegment (128 bits)."));
ELE("next-uid", KaxNextUID::ClassInfos, Y("Next segment's unique ID"), Y("A unique ID to identify the next chained\nsegment (128 bits).")); ELE("next-uid", KaxNextUID::ClassInfos, Y("Next segment's unique ID"), Y("A unique ID to identify the next chained\nsegment (128 bits)."));
ELE("muxing-application", KaxMuxingApp::ClassInfos, Y("Muxing application"), Y("The name of the application or library used for muxing the file."));
ELE("writing-application", KaxWritingApp::ClassInfos, Y("Writing application"), Y("The name of the application or library used for writing the file."));
current_index = KaxTracks::ClassInfos.GlobalId.Value; current_index = KaxTracks::ClassInfos.GlobalId.Value;

View File

@ -373,6 +373,8 @@ Tab::handleSegmentInfo(kax_analyzer_data_c const &data) {
(new BitValuePage{ *this, *page, info, KaxSegmentUID::ClassInfos, YT("Segment unique ID"), YT("A randomly generated unique ID to identify the current segment between many others (128 bits)."), 128})->init(); (new BitValuePage{ *this, *page, info, KaxSegmentUID::ClassInfos, YT("Segment unique ID"), YT("A randomly generated unique ID to identify the current segment between many others (128 bits)."), 128})->init();
(new BitValuePage{ *this, *page, info, KaxPrevUID::ClassInfos, YT("Previous segment's unique ID"), YT("A unique ID to identify the previous chained segment (128 bits)."), 128})->init(); (new BitValuePage{ *this, *page, info, KaxPrevUID::ClassInfos, YT("Previous segment's unique ID"), YT("A unique ID to identify the previous chained segment (128 bits)."), 128})->init();
(new BitValuePage{ *this, *page, info, KaxNextUID::ClassInfos, YT("Next segment's unique ID"), YT("A unique ID to identify the next chained segment (128 bits)."), 128})->init(); (new BitValuePage{ *this, *page, info, KaxNextUID::ClassInfos, YT("Next segment's unique ID"), YT("A unique ID to identify the next chained segment (128 bits)."), 128})->init();
(new StringValuePage{*this, *page, info, KaxMuxingApp::ClassInfos, YT("Muxing application"), YT("The name of the application or library used for muxing the file.")})->init();
(new StringValuePage{*this, *page, info, KaxWritingApp::ClassInfos, YT("Writing application"), YT("The name of the application or library used for writing the file.")})->init();
m_segmentinfoPage = page; m_segmentinfoPage = page;
} }

View File

@ -412,3 +412,4 @@ T_563segfaults_issue_1780_part_6:error-error:passed:20160906-230017:0.014380789
T_564segfaults_issue_1780_part_7:error-error:passed:20160907-203352:0.042010598 T_564segfaults_issue_1780_part_7:error-error:passed:20160907-203352:0.042010598
T_565hevc_detection_failed_due_to_width_height:7485c50c93d36712ac137a4c18266828-fb4f943bf719c5c5cae72a4ee8d24591:passed:20160911-140155:1.81172957 T_565hevc_detection_failed_due_to_width_height:7485c50c93d36712ac137a4c18266828-fb4f943bf719c5c5cae72a4ee8d24591:passed:20160911-140155:1.81172957
T_566opus_with_comment_header:25c1c6085b5514475656c9ab41cb6f05:passed:20160930-100110:0.020105268 T_566opus_with_comment_header:25c1c6085b5514475656c9ab41cb6f05:passed:20160930-100110:0.020105268
T_567propedit_muxing_writing_application:fdfebfa48bbd5fc21088827b0ad8f616-chunky bacon//a4e5c2807f579c56bbe0f1bb3c2626da:passed:20161006-212023:0.033121037

View File

@ -0,0 +1,12 @@
#!/usr/bin/ruby -w
# T_567propedit_muxing_writing_application
describe "mkvpropedit / modifying muxing & writing application"
test_merge "data/subtitles/srt/ven.srt", :keep_tmp => true
test "set and verify properties" do
propedit tmp, "--edit info --set 'muxing-application=chunky bacon' --set writing-application="
info = identify_json(tmp)["container"]["properties"]
info["muxing_application"] + "/" + info["writing_application"] + "/" + hash_tmp
end