Fix loop/pre-roll

Pre-roll to fill buffers only needs to be done once when starting
to play or when locating.

Seamless looping just continues. Every processor takes the loop
position into account locally.
This commit is contained in:
Robin Gareus
2019-11-08 17:08:47 +01:00
parent f37758ffb7
commit 08fdb98262

View File

@@ -248,7 +248,9 @@ Session::do_locate (samplepos_t target_sample, bool with_roll, bool with_flush,
// thread(s?) can restart.
g_atomic_int_inc (&_seek_counter);
_last_roll_or_reversal_location = target_sample;
_remaining_latency_preroll = worst_latency_preroll ();
if (!for_loop_end) {
_remaining_latency_preroll = worst_latency_preroll ();
}
timecode_time(_transport_sample, transmitting_timecode_time); // XXX here?
/* do "stopped" stuff if: