summaryrefslogtreecommitdiff
path: root/libs/ardour/disk_reader.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/disk_reader.cc')
-rw-r--r--libs/ardour/disk_reader.cc10
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 */
+ }
}
}