summaryrefslogtreecommitdiff
path: root/libs/ardour/internal_send.cc
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2010-08-19 23:53:00 +0000
committerCarl Hetherington <carl@carlh.net>2010-08-19 23:53:00 +0000
commitf4290fc09c9ba03dd2c3d4f8fc6754bab29fa724 (patch)
treeb689b9a1746e85fe3dda4400c5e888555605524f /libs/ardour/internal_send.cc
parent611c33e6807b028a6a521017188d704445ba1d06 (diff)
Resize internal send target buffers on set_block_size(); fixes #3330.
git-svn-id: svn://localhost/ardour2/branches/3.0@7655 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/internal_send.cc')
-rw-r--r--libs/ardour/internal_send.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/libs/ardour/internal_send.cc b/libs/ardour/internal_send.cc
index 9c4238b134..8ec5430308 100644
--- a/libs/ardour/internal_send.cc
+++ b/libs/ardour/internal_send.cc
@@ -34,6 +34,7 @@ using namespace std;
InternalSend::InternalSend (Session& s, boost::shared_ptr<MuteMaster> mm, boost::shared_ptr<Route> sendto, Delivery::Role role)
: Send (s, mm, role)
+ , target (0)
{
if (sendto) {
if (use_target (sendto)) {
@@ -149,6 +150,11 @@ int
InternalSend::set_block_size (nframes_t nframes)
{
mixbufs.ensure_buffers (_configured_input, nframes);
+
+ /* ensure that our target can cope with us merging this many frames to it */
+ if (target) {
+ target->ensure_buffers (_configured_input, nframes);
+ }
return 0;
}