buffering

git-svn-id: svn://elaine/murooma/trunk@39 d8a302eb-03bc-478d-80e4-98257eca68ef
This commit is contained in:
(no author) 2014-06-29 11:26:58 +00:00
parent 503f3ed83c
commit 73ac7236b5
2 changed files with 3 additions and 2 deletions

View file

@ -1,7 +1,7 @@
#ifndef CHUNK_H #ifndef CHUNK_H
#define CHUNK_H #define CHUNK_H
#define MS (50) #define MS (40)
//44100 / 20 = 2205 //44100 / 20 = 2205
#define SAMPLE_RATE (44100) #define SAMPLE_RATE (44100)
#define SIZE (SAMPLE_RATE*4*MS/1000) #define SIZE (SAMPLE_RATE*4*MS/1000)

View file

@ -209,6 +209,7 @@ static int patestCallback( const void *inputBuffer, void *outputBuffer,
std::cerr << "median > bufferMs + MS (" << median << " > " << bufferMs + MS << "), dropping chunk\n"; std::cerr << "median > bufferMs + MS (" << median << " > " << bufferMs + MS << "), dropping chunk\n";
buffer.clear(); buffer.clear();
chunks->pop_front(); chunks->pop_front();
usleep((median - (bufferMs + MS)) * 1000);
delete chunk; delete chunk;
} }
else if (buffer.full() && (median + MS < bufferMs)) else if (buffer.full() && (median + MS < bufferMs))
@ -217,7 +218,7 @@ static int patestCallback( const void *inputBuffer, void *outputBuffer,
buffer.clear(); buffer.clear();
chunk = new Chunk(); chunk = new Chunk();
memset(&(chunk->payload[0]), 0, SIZE); memset(&(chunk->payload[0]), 0, SIZE);
usleep(10 * 1000); usleep((bufferMs - (median + MS)) * 1000);
break; break;
} }
else else