From ca1a798becdc047113bea68cbfbf913a08f0d471 Mon Sep 17 00:00:00 2001
From: Jamie Forth <j.forth@gold.ac.uk>
Date: Thu, 30 Jan 2025 16:41:54 +0000
Subject: [PATCH] Change effective_srate then dejitter_timestamps=True

* This is now the same calculation as when dejitter_timestamps=False
---
 src/pyxdf/pyxdf.py | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/src/pyxdf/pyxdf.py b/src/pyxdf/pyxdf.py
index 9ca09c9..c84d061 100644
--- a/src/pyxdf/pyxdf.py
+++ b/src/pyxdf/pyxdf.py
@@ -665,12 +665,11 @@ def _jitter_removal(streams, threshold_seconds=1, threshold_samples=500):
             # Recalculate effective_srate if possible
             counts = (seg_stops + 1) - seg_starts
             if np.any(counts):
-                # Calculate range segment duration (assuming last sample duration was
-                # exactly 1 * stream.tdiff)
+                # Calculate range segment duration
                 durations = (
-                    stream.time_stamps[seg_stops] + stream.tdiff
+                    stream.time_stamps[seg_stops]
                 ) - stream.time_stamps[seg_starts]
-                stream.effective_srate = np.sum(counts) / np.sum(durations)
+                stream.effective_srate = np.sum(counts - 1) / np.sum(durations)
 
             srate, effective_srate = stream.srate, stream.effective_srate
             if np.abs(srate - effective_srate) / srate > 0.1: