diff audioio/AudioCallbackPlaySource.cpp @ 404:08a45e4cf1b1 tonioni

Update subrepos and merge from default branch
author Chris Cannam
date Tue, 02 Sep 2014 16:23:48 +0100
parents f7dddea0dbe0
children ddfb480c70a0
line wrap: on
line diff
--- a/audioio/AudioCallbackPlaySource.cpp	Fri Jul 18 13:25:11 2014 +0100
+++ b/audioio/AudioCallbackPlaySource.cpp	Tue Sep 02 16:23:48 2014 +0100
@@ -361,14 +361,22 @@
 {
     if (!haveLock) m_mutex.lock();
 
+    cerr << "clearRingBuffers" << endl;
+
     rebuildRangeLists();
 
     if (count == 0) {
 	if (m_writeBuffers) count = m_writeBuffers->size();
     }
 
+    cerr << "current playing frame = " << getCurrentPlayingFrame() << endl;
+
+    cerr << "write buffer fill (before) = " << m_writeBufferFill << endl;
+
     m_writeBufferFill = getCurrentBufferedFrame();
 
+    cerr << "current buffered frame = " << m_writeBufferFill << endl;
+
     if (m_readBuffers != m_writeBuffers) {
 	delete m_writeBuffers;
     }
@@ -602,7 +610,11 @@
 
     int targetRate = getTargetSampleRate();
     int latency = m_playLatency; // at target rate
-    RealTime latency_t = RealTime::frame2RealTime(latency, targetRate);
+    RealTime latency_t = RealTime::zeroTime;
+
+    if (targetRate != 0) {
+        latency_t = RealTime::frame2RealTime(latency, targetRate);
+    }
 
     return getCurrentFrame(latency_t);
 }