Delegate all DiskReader I/O to the IOTaskList (amend 170b9150)

This commit is contained in:
Robin Gareus 2024-04-30 01:55:12 +02:00
parent ee87b068e8
commit 4b0da72bc2
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
1 changed files with 4 additions and 1 deletions

View File

@ -1152,14 +1152,17 @@ Session::butler_transport_work (bool have_process_lock)
if (!have_process_lock) {
lx.acquire ();
}
std::shared_ptr<IOTaskList> tl = io_tasklist ();
for (auto const& i : *r) {
std::shared_ptr<Track> tr = std::dynamic_pointer_cast<Track> (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);