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
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04

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: