audio/out/push: limit fallback sleep time to reasonable limits

This commit is contained in:
wm4
2014-10-11 13:57:34 +02:00
committed by Alessandro Ghedini
parent 180fed4bc4
commit 1b29964a3e
+4 -2
View File
@@ -165,8 +165,10 @@ static void drain(struct ao *ao)
pthread_cond_wait(&p->wakeup_drain, &p->lock);
pthread_mutex_unlock(&p->lock);
if (!ao->driver->drain)
mp_sleep_us(get_delay(ao) * 1000000);
if (!ao->driver->drain) {
double time = get_delay(ao);
mp_sleep_us(MPMIN(time, ao->buffer / (double)ao->samplerate + 1) * 1e6);
}
reset(ao);
}