+ else if (ltc_speed != 0 && (fptcf / ltc_speed / 80) > 3 ) {
+ /* reduce (low freq) jitter.
+ * The granularity of the LTC encoder speed is 1 byte =
+ * (frames-per-timecode-frame / 10) audio-samples.
+ * Thus, tiny speed changes [as produced by some slaves]
+ * may not have any effect in the cycle when they occur,
+ * but they will add up over time.
+ *
+ * This is a linear approx to compensate for this jitter
+ * and prempt re-sync when the drift builds up.
+ *
+ * However, for very fast speeds - when 1 LTC bit is
+ * <= 3 audio-sample - adjusting speed may lead to
+ * invalid frames.
+ *
+ * To do better than this, resampling (or a rewrite of the
+ * encoder) is required.
+ */
+ ltc_speed -= ((ltc_enc_pos + ltc_enc_cnt - poff) - cycle_start_frame) / engine().sample_rate();
+ }