Commit 97b4a6b5 authored by Max Kellermann's avatar Max Kellermann

output/osx: clear render buffer when there's not enough data

When we don't have enough data, generate some silence, hoping the input buffer will fill soon. Reducing the render buffer size is not legal.
parent f405d27c
......@@ -3,6 +3,7 @@ ver 0.16.7 (2011/??/??)
- httpd: fix excessive buffering
- openal: force 16 bit playback, as 8 bit doesn't work
- osx: remove sleep call from render callback
- osx: clear render buffer when there's not enough data
* fix moving after current song
......
......@@ -118,7 +118,6 @@ osx_render(void *vdata,
g_mutex_lock(od->mutex);
bytes_to_copy = MIN(od->len, buffer_size);
buffer_size = bytes_to_copy;
od->len -= bytes_to_copy;
trailer_length = od->buffer_size - od->pos;
......@@ -140,7 +139,9 @@ osx_render(void *vdata,
g_cond_signal(od->condition);
g_mutex_unlock(od->mutex);
buffer->mDataByteSize = buffer_size;
if (bytes_to_copy < buffer_size)
memset((unsigned char*)buffer->mData + bytes_to_copy, 0,
buffer_size - bytes_to_copy);
return 0;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment