summaryrefslogtreecommitdiff
path: root/libs/ardour/disk_writer.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2017-07-05 15:07:37 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2017-09-18 11:40:53 -0400
commitfb9dd1a411d518472521047b1f3451aabdc334a0 (patch)
treeb6373aa68ebbf52e195aacf3d780b03640693422 /libs/ardour/disk_writer.cc
parentf76c05851f4ab973cc258d595c26f738243f3eb9 (diff)
DiskWriter needs to drop source refs in its destructor.
SerializedRCUManager can't do this by itself
Diffstat (limited to 'libs/ardour/disk_writer.cc')
-rw-r--r--libs/ardour/disk_writer.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/libs/ardour/disk_writer.cc b/libs/ardour/disk_writer.cc
index 1e248dcdc0..ac9bcade02 100644
--- a/libs/ardour/disk_writer.cc
+++ b/libs/ardour/disk_writer.cc
@@ -67,6 +67,12 @@ DiskWriter::DiskWriter (Session& s, string const & str, DiskIOProcessor::Flag f)
DiskWriter::~DiskWriter ()
{
DEBUG_TRACE (DEBUG::Destruction, string_compose ("DiskWriter %1 @ %2 deleted\n", _name, this));
+
+ boost::shared_ptr<ChannelList> c = channels.reader();
+
+ for (ChannelList::iterator chan = c->begin(); chan != c->end(); ++chan) {
+ (*chan)->write_source.reset ();
+ }
}
framecnt_t