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

This commit is contained in:
wm4 authored and Alessandro Ghedini committed 2014-10-11 13:57:34 +02:00
1 parent 180fed4bc4
commit 1b29964a3e
1 file changed
+4 -2
+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);
}