summaryrefslogtreecommitdiff
path: root/libs/ardour/audio_diskstream.cc
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2011-10-28 17:04:09 +0000
committerCarl Hetherington <carl@carlh.net>2011-10-28 17:04:09 +0000
commit7bdcc127e3e42bd76b997b56ecd938b1127d790b (patch)
treef1e9856094ee5a54cc28957508f2b693fbcd043a /libs/ardour/audio_diskstream.cc
parentf65e3f287b48fef6d4fdb8c4456c0eada4c4431c (diff)
Use shared_ptr for Port in the AudioEngine; improves thread-safety of the audio engine's port list as a writer cannot destroy a port in one thread while the port list is being iterated in another.
git-svn-id: svn://localhost/ardour2/branches/3.0@10327 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/audio_diskstream.cc')
-rw-r--r--libs/ardour/audio_diskstream.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/libs/ardour/audio_diskstream.cc b/libs/ardour/audio_diskstream.cc
index 80b484f926..a7c8558fdc 100644
--- a/libs/ardour/audio_diskstream.cc
+++ b/libs/ardour/audio_diskstream.cc
@@ -489,7 +489,7 @@ AudioDiskstream::process (framepos_t transport_frame, pframes_t nframes, bool& n
for recording, and use rec_offset
*/
- AudioPort* const ap = _io->audio (n);
+ boost::shared_ptr<AudioPort> const ap = _io->audio (n);
assert(ap);
assert(rec_nframes <= (framecnt_t) ap->get_audio_buffer(nframes).capacity());
@@ -505,7 +505,7 @@ AudioDiskstream::process (framepos_t transport_frame, pframes_t nframes, bool& n
goto out;
}
- AudioPort* const ap = _io->audio (n);
+ boost::shared_ptr<AudioPort> const ap = _io->audio (n);
assert(ap);
Sample* buf = ap->get_audio_buffer(nframes).data (rec_offset);