From: Hajime Fujita <crisp.fujita@xxxxxxxxx> This patch discards audio data when a socket returns EAGAIN. This was made based on a suggestion by karlstav (https://github.com/karlstav), and is supposed to solve Issue #32. (https://github.com/hfujita/pulseaudio-raop2/issues/32) --- src/modules/raop/raop-client.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/modules/raop/raop-client.c b/src/modules/raop/raop-client.c index 68d188a..f71ad9d 100644 --- a/src/modules/raop/raop-client.c +++ b/src/modules/raop/raop-client.c @@ -471,8 +471,7 @@ static ssize_t send_udp_audio_packet(pa_raop_client *c, pa_memchunk *block, size written = pa_write(c->udp_sfd, buffer, packet->length, NULL); if (written < 0 && (errno == EAGAIN || errno == EWOULDBLOCK)) { pa_log_debug("Discarding UDP (audio, seq=%d) packet due to EAGAIN (%s)", c->seq, pa_cstrerror(errno)); - pa_memblock_release(packet->memblock); - return (ssize_t) packet->length; + written = packet->length; } pa_memblock_release(packet->memblock); -- 2.9.3