mirror of
https://github.com/badaix/snapcast.git
synced 2025-05-28 08:26:16 +02:00
improved alsa error handling
This commit is contained in:
parent
a9d1ac387b
commit
74cdd5ea64
3 changed files with 82 additions and 41 deletions
|
@ -243,7 +243,7 @@ bool Stream::getPlayerChunk(void* outputBuffer, const cs::usec& outputBufferDacT
|
|||
{
|
||||
logO << "sleep > bufferDuration/2: " << cs::duration<cs::msec>(sleep_) << " > " << cs::duration<cs::msec>(bufferDuration)/2 << "\n";
|
||||
// We're late: discard oldest chunks
|
||||
do
|
||||
while (sleep_ > chunk_->duration<cs::usec>())
|
||||
{
|
||||
logO << "sleep > chunkDuration: " << cs::duration<cs::msec>(sleep_) << " > " << chunk_->duration<cs::msec>().count() << ", chunks: " << chunks_.size() << ", out: " << cs::duration<cs::msec>(outputBufferDacTime) << ", needed: " << cs::duration<cs::msec>(bufferDuration) << "\n";
|
||||
sleep_ = std::chrono::duration_cast<cs::usec>(TimeProvider::serverNow() - chunk_->start() - bufferMs_ + outputBufferDacTime);
|
||||
|
@ -255,7 +255,6 @@ bool Stream::getPlayerChunk(void* outputBuffer, const cs::usec& outputBufferDacT
|
|||
return false;
|
||||
}
|
||||
}
|
||||
while (sleep_ > chunk_->duration<cs::usec>());
|
||||
}
|
||||
|
||||
// out of sync, can be corrected by playing faster/slower
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue