diff --git a/NEWS b/NEWS index 212648f20..8a2f11be6 100644 --- a/NEWS +++ b/NEWS @@ -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 diff --git a/src/output/osx_plugin.c b/src/output/osx_plugin.c index d7abae096..5284afc29 100644 --- a/src/output/osx_plugin.c +++ b/src/output/osx_plugin.c @@ -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; }