+ samplepos_t cycle_start_sample;
+
+ if (current_speed < 0) {
+ cycle_start_sample = (start_sample + ltc_out_latency.max);
+ } else if (current_speed > 0) {
+ cycle_start_sample = (start_sample - ltc_out_latency.max);
+ } else {
+ /* There is no need to compensate for latency when not rolling
+ * rather send the accurate NOW timecode
+ * (LTC encoder compenates latency by sending earlier timecode)
+ */
+ cycle_start_sample = start_sample;
+ }