diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2020-05-12 10:08:51 -0600 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2020-05-12 11:34:37 -0600 |
commit | 27e45e9336f332ed06315cf2a3136ac822439315 (patch) | |
tree | 2311ddf0b1ed47d4c09cd51c4dec233e250f86f6 | |
parent | 98a3a96d409a3201107ad7aab2c67cb070c1e9cc (diff) |
Don't bother even checking let alone doing internal seeks for zero distances
-rw-r--r-- | libs/ardour/disk_reader.cc | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/libs/ardour/disk_reader.cc b/libs/ardour/disk_reader.cc index a911870ebf..2b62867162 100644 --- a/libs/ardour/disk_reader.cc +++ b/libs/ardour/disk_reader.cc @@ -397,10 +397,12 @@ DiskReader::run (BufferSet& bufs, samplepos_t start_sample, samplepos_t end_samp Evoral::Range<samplepos_t> loop_range (loc->start (), loc->end () - 1); ss = loop_range.squish (playback_sample); } - if (can_internal_playback_seek (ss - playback_sample)) { - internal_playback_seek (ss - playback_sample); - } else { - disk_samples_to_consume = 0; /* will force an underrun below */ + if (ss != playback_sample) { + if (can_internal_playback_seek (ss - playback_sample)) { + internal_playback_seek (ss - playback_sample); + } else { + disk_samples_to_consume = 0; /* will force an underrun below */ + } } } |