- if (m_prevSilent) {
- if (m_lastTimestamp > m_lastChange) {
- Feature feature;
- feature.hasTimestamp = true;
- feature.timestamp = m_lastChange;
- feature.hasDuration = true;
- feature.duration = m_lastTimestamp - m_lastChange;
- if (m_prevSilent) {
- returnFeatures[0].push_back(feature);
- } else {
- returnFeatures[1].push_back(feature);
- }
+// std::cerr << "Silence::getRemainingFeatures: m_lastTimestamp = " << m_lastTimestamp << ", m_lastChange = " << m_lastChange << ", m_apiVersion = " << m_apiVersion << ", m_prevSilent = " << m_prevSilent << std::endl;
+
+ if (m_lastTimestamp > m_lastChange) {
+
+ Feature feature;
+ feature.hasTimestamp = true;
+
+ feature.timestamp = m_lastChange;
+ feature.hasDuration = true;
+ feature.duration = m_lastTimestamp - m_lastChange;
+ if (m_prevSilent) {
+ // silent regions feature
+ returnFeatures[0].push_back(feature);
+ } else {
+ // non-silent regions feature
+ returnFeatures[1].push_back(feature);
+ }
+
+ if (!m_prevSilent) {
+ Feature silenceTestFeature;
+ silenceTestFeature.hasTimestamp = true;
+ silenceTestFeature.timestamp = m_lastTimestamp;
+ silenceTestFeature.values.push_back(0);
+ returnFeatures[2].push_back(silenceTestFeature);