diff options
Diffstat (limited to 'libs/ardour/audio_playlist.cc')
-rw-r--r-- | libs/ardour/audio_playlist.cc | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/libs/ardour/audio_playlist.cc b/libs/ardour/audio_playlist.cc index 9c304967dc..867f6f0ce4 100644 --- a/libs/ardour/audio_playlist.cc +++ b/libs/ardour/audio_playlist.cc @@ -186,16 +186,12 @@ AudioPlaylist::read (Sample *buf, Sample *mixdown_buffer, float *gain_buffer, fr its OK to block (for short intervals). */ -#ifdef HAVE_GLIB_THREADS_RECMUTEX - Glib::Threads::RecMutex::Lock lm (region_lock); -#else - Glib::RecMutex::Lock rm (region_lock); -#endif + Playlist::RegionLock rl (this, false); /* Find all the regions that are involved in the bit we are reading, and sort them by descending layer and ascending position. */ - boost::shared_ptr<RegionList> all = regions_touched (start, start + cnt - 1); + boost::shared_ptr<RegionList> all = regions_touched_locked (start, start + cnt - 1); all->sort (ReadSorter ()); /* This will be a list of the bits of our read range that we have |