From 4b0da72bc27ea5b34f82013755d3f752b99f74df Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Tue, 30 Apr 2024 01:55:12 +0200 Subject: [PATCH] Delegate all DiskReader I/O to the IOTaskList (amend 170b9150) --- libs/ardour/session_transport.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libs/ardour/session_transport.cc b/libs/ardour/session_transport.cc index 09e957983e..2f5ac62651 100644 --- a/libs/ardour/session_transport.cc +++ b/libs/ardour/session_transport.cc @@ -1152,14 +1152,17 @@ Session::butler_transport_work (bool have_process_lock) if (!have_process_lock) { lx.acquire (); } + std::shared_ptr tl = io_tasklist (); for (auto const& i : *r) { std::shared_ptr tr = std::dynamic_pointer_cast (i); if (tr) { tr->adjust_playback_buffering (); /* and refill those buffers ... */ } - i->non_realtime_locate (_transport_sample); + tl->push_back ([this, i]() { i->non_realtime_locate (_transport_sample); }); } + tl->process (); + VCAList v = _vca_manager->vcas (); for (VCAList::const_iterator i = v.begin(); i != v.end(); ++i) { (*i)->non_realtime_locate (_transport_sample);