From ac9ddf05acb4770e64fae18fa4940476372cabcd Mon Sep 17 00:00:00 2001
From: Tristan Matthews <tristan.matthews@savoirfairelinux.com>
Date: Tue, 17 Sep 2013 14:12:44 -0400
Subject: [PATCH] * #30215: mainbuffer: don't make temporary copies of
 mainbuffer

Also, disallow copying of mainbuffer since we haven't implemented
a proper move or copy constructor (and there's no need).
---
 daemon/src/audio/mainbuffer.h | 3 +++
 daemon/src/conference.cpp     | 2 +-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/daemon/src/audio/mainbuffer.h b/daemon/src/audio/mainbuffer.h
index c09c8318d6..6257aa64e5 100644
--- a/daemon/src/audio/mainbuffer.h
+++ b/daemon/src/audio/mainbuffer.h
@@ -37,6 +37,8 @@
 #include <pthread.h>
 
 #include "audiobuffer.h"
+#include "mainbuffer.h"
+#include "noncopyable.h"
 
 class RingBuffer;
 
@@ -99,6 +101,7 @@ class MainBuffer {
         void dumpInfo();
 
     private:
+        NON_COPYABLE(MainBuffer);
 
         CallIDSet* getCallIDSet(const std::string &call_id);
 
diff --git a/daemon/src/conference.cpp b/daemon/src/conference.cpp
index 4d4745ca7d..57ff553ac3 100644
--- a/daemon/src/conference.cpp
+++ b/daemon/src/conference.cpp
@@ -93,7 +93,7 @@ void Conference::remove(const std::string &participant_id)
 
 void Conference::bindParticipant(const std::string &participant_id)
 {
-    auto mainBuffer = Manager::instance().getMainBuffer();
+    auto &mainBuffer = Manager::instance().getMainBuffer();
 
     for (const auto &item : participants_) {
         if (participant_id != item)
-- 
GitLab