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.
This commit is contained in:
Moritz Bunkus 2017-10-04 14:37:44 +02:00
parent 976a6ba67d
commit 1f7f3ef02b
6 changed files with 25 additions and 18 deletions

View File

@ -2506,7 +2506,7 @@ parse_args(std::vector<std::string> 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<std::string> 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") {

View File

@ -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

27
tests/test-033timecode_scale.rb Normal file → Executable file
View File

@ -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

1
tests/test-351h264_vfr_with_timecode_file.rb Normal file → Executable file
View File

@ -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"

View File

@ -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"

2
tests/test-359split_parts.rb Normal file → Executable file
View File

@ -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"