From 1b1200e88cfec47e69d84a2308215af7e7b765cb Mon Sep 17 00:00:00 2001 From: "(no author)" <(no author)@d8a302eb-03bc-478d-80e4-98257eca68ef> Date: Sun, 29 Jun 2014 11:44:37 +0000 Subject: [PATCH] buffering git-svn-id: svn://elaine/murooma/trunk@41 d8a302eb-03bc-478d-80e4-98257eca68ef --- chunk.h | 2 +- client.cpp | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/chunk.h b/chunk.h index 3d8cb0b8..ed41009a 100644 --- a/chunk.h +++ b/chunk.h @@ -1,7 +1,7 @@ #ifndef CHUNK_H #define CHUNK_H -#define MS (40) +#define MS (20) //44100 / 20 = 2205 #define SAMPLE_RATE (44100) #define SIZE (SAMPLE_RATE*4*MS/1000) diff --git a/client.cpp b/client.cpp index 6d43c444..28197dc9 100644 --- a/client.cpp +++ b/client.cpp @@ -21,7 +21,7 @@ #include "doubleBuffer.h" -DoubleBuffer buffer(60000 / MS); +DoubleBuffer buffer(30000 / MS); std::deque chunks; std::deque timeDiffs; std::mutex mtx; @@ -189,14 +189,14 @@ static int patestCallback( const void *inputBuffer, void *outputBuffer, int median = buffer.median(); std::cerr << "age: " << getAge(*chunk) << "\t" << age << "\t" << median << "\t" << buffer.size() << "\t" << timeInfo->outputBufferDacTime*1000 << "\n"; - if (!buffer.full() && (age > bufferMs + 2*MS)) + if (/*!buffer.full() &&*/ (age > bufferMs + 2*MS)) { chunks->pop_front(); delete chunk; std::cerr << "packe too old, dropping\n"; usleep(100); } - else if (!buffer.full() && (age < bufferMs - 2*MS)) + else if (/*!buffer.full() &&*/ (age < bufferMs - 2*MS)) { chunk = new Chunk(); memset(&(chunk->payload[0]), 0, SIZE);