aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/pipewire
diff options
context:
space:
mode:
Diffstat (limited to 'internal/pipewire')
-rw-r--r--internal/pipewire/pipewire.go5
1 files changed, 4 insertions, 1 deletions
diff --git a/internal/pipewire/pipewire.go b/internal/pipewire/pipewire.go
index d0f1e7a6..331fcf17 100644
--- a/internal/pipewire/pipewire.go
+++ b/internal/pipewire/pipewire.go
@@ -291,7 +291,10 @@ func (ctx *Context) recvmsg(remaining []byte) (payload []byte, err error) {
break
}
- if n >= 0 {
+ if n == 0 && len(remaining) != len(ctx.iovecBuf) && err == nil {
+ err = syscall.EPIPE // not wrapped as it did not come from the syscall
+ }
+ if n > 0 {
payload = ctx.iovecBuf[:n]
}
return