diff --git a/client.cpp b/client.cpp index adcb3793..f0c3eb0e 100644 --- a/client.cpp +++ b/client.cpp @@ -17,7 +17,7 @@ #include #include -const size_t ms(50); +const size_t ms(20); //44100 / 20 = 2205 const size_t size(44100*4*ms/1000); int bufferMs; @@ -85,7 +85,7 @@ void player() if (chunks.empty()) cv.wait(lck); mutex.lock(); - std::cerr << "Chunks: " << chunks.size() << "\n"; +// std::cerr << "Chunks: " << chunks.size() << "\n"; Chunk* chunk = chunks.front(); chunks.pop_front(); mutex.unlock(); @@ -95,14 +95,15 @@ void player() if (playing) { int age = getAge(*chunk) - bufferMs; - if (age < 0) + if (age < 10) { - while (age < 0) + if (age < 0) { - usleep((-age) * 1000/ 2); + usleep((-age) * 1000 - 100); age = getAge(*chunk) - bufferMs; } - std::cerr << "Playing: " << getAge(*chunk) << "\n"; + if (abs(age) > 10) + std::cerr << "Buffer out of sync: " << age << "\n"; for (size_t n=0; n 100) - timeDiffs.pop_front(); - std::vector v(timeDiffs.begin(), timeDiffs.end()); - std::sort(v.begin(), v.end()); - std::cerr << "Median: " << v[v.size()/2] << "\n"; -*/ +// std::cerr << "New chunk: " << chunkTime(*chunk) << "\t" << timeToStr(now) << "\t" << getAge(*chunk) << "\n"; mutex.lock(); chunks.push_back(chunk);