changeset 13:cddeaf9f7f1b

* Fix embarrassing multiple-initialisation of output descriptors (once when getOutputDescriptors first called, once when initialise is then called) without clearing descriptor list in between
author cannam
date Thu, 06 Nov 2008 11:46:04 +0000
parents 3ac1386a74bd
children 0dd75140d034
files plugins/XTractPlugin.cpp
diffstat 1 files changed, 8 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/plugins/XTractPlugin.cpp	Wed Oct 29 17:16:36 2008 +0000
+++ b/plugins/XTractPlugin.cpp	Thu Nov 06 11:46:04 2008 +0000
@@ -225,6 +225,7 @@
 	    m_outputBinCount = 1; break;
     }
 
+    m_outputDescriptors.clear();
     setupOutputDescriptors();
 
     m_initialised = true;
@@ -421,7 +422,9 @@
 XTractPlugin::OutputList
 XTractPlugin::getOutputDescriptors() const
 {
-    if (m_outputDescriptors.empty()) setupOutputDescriptors();
+    if (m_outputDescriptors.empty()) {
+        setupOutputDescriptors();
+    }
     return m_outputDescriptors;
 }
 
@@ -499,8 +502,9 @@
 XTractPlugin::process(const float *const *inputBuffers,
                       Vamp::RealTime timestamp)
 {
-
-    if (m_outputDescriptors.empty()) setupOutputDescriptors();
+    if (m_outputDescriptors.empty()) {
+        setupOutputDescriptors();
+    }
 
     int rbs = m_outputBinCount > m_blockSize ? m_outputBinCount : m_blockSize;
     if (!m_resultBuffer) {
@@ -813,7 +817,7 @@
                 feature.values.push_back(value);
                 ++index;
             }
-            
+
             if (good) fs[output].push_back(feature);
         }
 //    }