diff options
author | Diogo Franco (Kovensky) <diogomfranco@gmail.com> | 2013-12-08 18:47:36 -0300 |
---|---|---|
committer | Diogo Franco (Kovensky) <diogomfranco@gmail.com> | 2013-12-08 19:03:26 -0300 |
commit | 2329e462291b9803450a67f7e3fac531823b95a6 (patch) | |
tree | 958499c16521e883082da03eb6a764b02d9f91cb | |
parent | 62925a5c15a76568c155259bafa1361ec139c66b (diff) | |
download | mpv-2329e462291b9803450a67f7e3fac531823b95a6.tar.bz2 mpv-2329e462291b9803450a67f7e3fac531823b95a6.tar.xz |
ao_wasapi: fix audio buffering delay calculation
When get_space was converted to returning samples instead of bytes, a
unit type mismatch in get_delay's calculation returned bogus values. Fix
by converting get_space's value back to bytes.
Fixes playback with ao_wasapi when reaching EOF, or seeking past it.
-rw-r--r-- | audio/out/ao_wasapi.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/audio/out/ao_wasapi.c b/audio/out/ao_wasapi.c index b43bf04753..4bdad1d242 100644 --- a/audio/out/ao_wasapi.c +++ b/audio/out/ao_wasapi.c @@ -1364,7 +1364,7 @@ static float get_delay(struct ao *ao) if (!ao || !ao->priv) return -1.0f; struct wasapi_state *state = (struct wasapi_state *)ao->priv; - return (float)(RING_BUFFER_COUNT * state->buffer_block_size - get_space(ao)) / + return (float)(RING_BUFFER_COUNT * state->buffer_block_size - get_space(ao) * ao->sstride) / (float)state->format.Format.nAvgBytesPerSec; } |