From 1f7f3ef02bc3ac81c0a529ab3a6ff415cc0731ea Mon Sep 17 00:00:00 2001 From: Moritz Bunkus Date: Wed, 4 Oct 2017 14:37:44 +0200 Subject: [PATCH] mkvmerge: accept --timestamp* in addition to --timecode* Part of an ongoing effort to replace the use of the term `timecode` with `timestamp`. Timecodes have a very specific meaning in the audio/video world, and it's not what MKVToolNix has been using the term for. --- src/merge/mkvmerge.cpp | 6 ++--- tests/results.txt | 6 ++--- tests/test-033timecode_scale.rb | 27 +++++++++++-------- tests/test-351h264_vfr_with_timecode_file.rb | 1 + ...2timecode_scale_auto_libmatroska_assert.rb | 1 + tests/test-359split_parts.rb | 2 +- 6 files changed, 25 insertions(+), 18 deletions(-) mode change 100644 => 100755 tests/test-033timecode_scale.rb mode change 100644 => 100755 tests/test-351h264_vfr_with_timecode_file.rb mode change 100644 => 100755 tests/test-352timecode_scale_auto_libmatroska_assert.rb mode change 100644 => 100755 tests/test-359split_parts.rb diff --git a/src/merge/mkvmerge.cpp b/src/merge/mkvmerge.cpp index 2065ddf71..8ecc7815e 100644 --- a/src/merge/mkvmerge.cpp +++ b/src/merge/mkvmerge.cpp @@ -2506,7 +2506,7 @@ parse_args(std::vector args) { mxwarn(Y("The option '--meta-seek-size' is no longer supported. Please read mkvmerge's documentation, especially the section about the MATROSKA FILE LAYOUT.\n")); sit++; - } else if (this_arg == "--timecode-scale") { + } else if (mtx::included_in(this_arg, "--timecode-scale", "--timestamp-scale")) { if (no_next_arg) mxerror(boost::format(Y("'%1%' lacks its argument.\n")) % this_arg); @@ -2831,11 +2831,11 @@ parse_args(std::vector args) { parse_arg_language(next_arg, ti->m_track_names, "track-name", Y("track name"), false, true); sit++; - } else if (this_arg == "--timecodes") { + } else if (mtx::included_in(this_arg, "--timecodes", "--timestamps")) { if (no_next_arg) mxerror(boost::format(Y("'%1%' lacks its argument.\n")) % this_arg); - parse_arg_language(next_arg, ti->m_all_ext_timestamps, "timecodes", Y("timecodes"), false); + parse_arg_language(next_arg, ti->m_all_ext_timestamps, this_arg, Y("timecodes"), false); sit++; } else if (this_arg == "--track-order") { diff --git a/tests/results.txt b/tests/results.txt index 677527c72..66b5d1c37 100644 --- a/tests/results.txt +++ b/tests/results.txt @@ -28,7 +28,7 @@ T_027default_track:7e4e39368a301af7b8361232831610d8:passed:20040825-234348:0.613 T_028compression:efed67214315f80544531074cf987700:passed:20040825-234348:0.078682653 T_029link:all ok:passed:20040825-235039:0.925578898 T_032cues:a4b8c839b6dceb21e5debf87aa99f3d4:passed:20040825-235040:0.182090352 -T_033timecode_scale:a92db6257fd26997b57fc6c404ca20f0-0b2918ec09a0a542d0504ece4957f495:passed:20040825-235040:0.312093398 +T_033timecode_scale:a92db6257fd26997b57fc6c404ca20f0-0b2918ec09a0a542d0504ece4957f495-a92db6257fd26997b57fc6c404ca20f0-0b2918ec09a0a542d0504ece4957f495:passed:20040825-235040:0.312093398 T_034ac3misdetected_as_mp2:2e25f3b3d6d5600e38a913f7c2fd4f28:passed:20040920-100447:0.099427838 T_035X_vfw_video:b633b965d60e5d31c7601dda8e2b6379:passed:20040920-185358:0.177301623 T_036X_mp3:b3bb67d316e20da12926d5c1d628f6e5:passed:20040920-190109:0.15262689 @@ -195,8 +195,8 @@ T_347h264_misdetected_as_ac3:6cc2e0c19546af33f303709989bde8c7:passed:20120305-16 T_348srt_negative_timecodes2:beaee30a910a72560a844628f3a072ac:passed:20120307-115726:0.120842971 T_349h264_interlaced_default_duration:39534b9ceba8a2d49f0a04ce5015ab31-79727157c97dfa6eac327344d578ab45-79727157c97dfa6eac327344d578ab45-db78a079ab2c0bfba0ee48881969f897:passed:20120307-184849:7.012794592 T_350h264_progressive_default_duration:58a0466c6f648e903828807b663cd335-313724e21067e161d33bb784cac2c0b4-f71549fd8969f706cb30aed368081a87:passed:20120307-193604:4.699052694 -T_351h264_vfr_with_timecode_file:612667fc81e8586349039e6f0bc3ee2d-99f710f96570f924018a56f5886a7617:passed:20120307-200246:7.256287477 -T_352timecode_scale_auto_libmatroska_assert:f09fb4a72aebf8d0a6647d363fb0eff5:passed:20120308-083800:3.596606165 +T_351h264_vfr_with_timecode_file:612667fc81e8586349039e6f0bc3ee2d-99f710f96570f924018a56f5886a7617-99f710f96570f924018a56f5886a7617:passed:20120307-200246:4.954059618 +T_352timecode_scale_auto_libmatroska_assert:f09fb4a72aebf8d0a6647d363fb0eff5-f09fb4a72aebf8d0a6647d363fb0eff5:passed:20120308-083800:2.620912493 T_353ac3-from-ts-with-missing-tcs-with-non-zero-first-tc::new:20120312-134345:0.0 T_353ac3_from_ts_with_missing_tcs_with_non_zero_first_tc:d22c8fa039e1f511de0b64f20cb35ce4:passed:20120312-134456:1.302275752 T_354h264_60000_1001i_def_duration_60000_1000:41897b49ca9c30cea2e4760212c38c71:passed:20120314-090846:0.349677199 diff --git a/tests/test-033timecode_scale.rb b/tests/test-033timecode_scale.rb old mode 100644 new mode 100755 index 439d1e756..60f3c795b --- a/tests/test-033timecode_scale.rb +++ b/tests/test-033timecode_scale.rb @@ -1,15 +1,20 @@ #!/usr/bin/ruby -w -class T_033timecode_scale < Test - def description - return "mkvmerge / timecode scale / in(AVI,MP3)" - end +# T_033timecode_scale +describe "mkvmerge / timecode scale / in(AVI,MP3)" - def run - merge("--timecode-scale 1000000 data/simple/v.mp3") - hash = hash_tmp - merge("--timecode-scale -1 data/avi/v.avi") - return hash + "-" + hash_tmp - end +test "timecode/timestamp scale" do + hash = [] + + merge("--timecode-scale 1000000 data/simple/v.mp3") + hash << hash_tmp + merge("--timecode-scale -1 data/avi/v.avi") + hash << hash_tmp + + merge("--timestamp-scale 1000000 data/simple/v.mp3") + hash << hash_tmp + merge("--timestamp-scale -1 data/avi/v.avi") + hash << hash_tmp + + hash.join('-') end - diff --git a/tests/test-351h264_vfr_with_timecode_file.rb b/tests/test-351h264_vfr_with_timecode_file.rb old mode 100644 new mode 100755 index 18523135b..c40309bab --- a/tests/test-351h264_vfr_with_timecode_file.rb +++ b/tests/test-351h264_vfr_with_timecode_file.rb @@ -5,3 +5,4 @@ describe "mkvmerge / VFR h264 file with and without a timecode file" test_merge "data/h264/vfr.h264", :exit_code => :warning test_merge "data/h264/vfr.h264", :args => "--timecodes 0:data/h264/vfr-timecodes.txt" +test_merge "data/h264/vfr.h264", :args => "--timestamps 0:data/h264/vfr-timecodes.txt" diff --git a/tests/test-352timecode_scale_auto_libmatroska_assert.rb b/tests/test-352timecode_scale_auto_libmatroska_assert.rb old mode 100644 new mode 100755 index 0816ad869..82e432472 --- a/tests/test-352timecode_scale_auto_libmatroska_assert.rb +++ b/tests/test-352timecode_scale_auto_libmatroska_assert.rb @@ -4,3 +4,4 @@ describe "mkvmerge / wrong calculation of max ns per cluster with --timecode-scale -1" test_merge "data/mp4/timecode-scale-1.mp4 data/mp4/timecode-scale-1.ogg", :args => "--timecode-scale -1" +test_merge "data/mp4/timecode-scale-1.mp4 data/mp4/timecode-scale-1.ogg", :args => "--timestamp-scale -1" diff --git a/tests/test-359split_parts.rb b/tests/test-359split_parts.rb old mode 100644 new mode 100755 index 6dd2bda20..a0acbae9b --- a/tests/test-359split_parts.rb +++ b/tests/test-359split_parts.rb @@ -28,7 +28,7 @@ test "split timecodes + appending vs split parts" do result = [] source = "data/mp4/10-DanseMacabreOp.40.m4a" - merge "--disable-lacing --split timecodes:01:21,01:52,03:07,03:51 #{source}", :output => "#{tmp}-%02d" + merge "--disable-lacing --split timestamps:01:21,01:52,03:07,03:51 #{source}", :output => "#{tmp}-%02d" result += (1..5).collect { |idx| hash_file "#{tmp}-0#{idx}" } merge "--disable-lacing #{tmp}-02 + #{tmp}-04", :output => "#{tmp}-appended"