[pulseaudio-discuss] [PATCH v7 30/33] raop: Discard data upon getting EAGAIN on a socket

Hajime Fujita crisp.fujita at gmail.com
Sun Nov 6 18:54:24 UTC 2016


From: Hajime Fujita <crisp.fujita at nifty.com>

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



More information about the pulseaudio-discuss mailing list