From 9a25b906cb9b8841018439134f16afcfa363d8ee Mon Sep 17 00:00:00 2001
From: odrling <florianbadie@odrling.xyz>
Date: Thu, 7 Jan 2021 17:46:38 +0100
Subject: [PATCH] shift video instead of subtitles

This is probably wrong in some cases. This is probably what we want with
matroska files.
---
 libaegisub/common/vfr.cpp | 1 -
 src/MatroskaParser.c      | 2 +-
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/libaegisub/common/vfr.cpp b/libaegisub/common/vfr.cpp
index c82fcdbee..49ba8fe0e 100644
--- a/libaegisub/common/vfr.cpp
+++ b/libaegisub/common/vfr.cpp
@@ -153,7 +153,6 @@ Framerate::Framerate(int64_t numerator, int64_t denominator, bool drop)
 
 void Framerate::SetFromTimecodes() {
 	validate_timecodes(timecodes);
-	normalize_timecodes(timecodes);
 	denominator = default_denominator;
 	numerator = (timecodes.size() - 1) * denominator * 1000 / timecodes.back();
 	last = (timecodes.size() - 1) * denominator * 1000;
diff --git a/src/MatroskaParser.c b/src/MatroskaParser.c
index b3af0ad86..c1f8a27d1 100644
--- a/src/MatroskaParser.c
+++ b/src/MatroskaParser.c
@@ -2193,7 +2193,7 @@ found:
 
       // recalculate this block's timecode to final timecode in ns
       timecode = mul3(mf->Tracks[tracknum]->TimecodeScale,
-	(timecode - mf->firstTimecode + block_timecode) * mf->Seg.TimecodeScale);
+	(timecode + block_timecode) * mf->Seg.TimecodeScale);
 
       c = readch(mf);
       if (c==EOF)
-- 
GitLab