Use the current async.displacement value for timecode correction, not the initial_displacement.

This commit is contained in:
Moritz Bunkus 2004-03-21 23:07:41 +00:00
parent ba0f7afecd
commit 8359e5bf4f
3 changed files with 7 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2004-03-22 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Using audio sync on AC3 tracks read from
Matroska files did not work.
2004-03-21 Moritz Bunkus <moritz@bunkus.org>
* mkvextract: new feature: Added extraction of RealAudio and

View File

@ -149,7 +149,7 @@ ac3_packetizer_c::process(unsigned char *buf,
my_timecode = (int64_t)(1000000000.0 * packetno * 1536 /
samples_per_sec);
else
my_timecode = timecode + initial_displacement;
my_timecode = timecode + ti->async.displacement;
my_timecode = (int64_t)(my_timecode * ti->async.linear);
add_packet(packet, ac3header.bytes, my_timecode,
(int64_t)(1000000000.0 * 1536 * ti->async.linear /

View File

@ -248,7 +248,7 @@ dts_packetizer_c::process(unsigned char *buf,
my_timecode = (int64_t)(((double)samples_written * 1000000000.0) /
((double)dtsheader.core_sampling_frequency));
else
my_timecode = timecode + initial_displacement;
my_timecode = timecode + ti->async.displacement;
my_timecode = (int64_t)(my_timecode * ti->async.linear);
add_packet(packet, dtsheader.frame_byte_size, my_timecode,
(int64_t)(packet_len_in_ns * ti->async.linear));