From c34439fc5fe52db3f346131bd6398da8a69fe0bf Mon Sep 17 00:00:00 2001 From: Ophestra Date: Wed, 3 Dec 2025 01:29:19 +0900 Subject: internal/pipewire: collect non-protocol errors These errors are recoverable and should not terminate event handling. Only terminate event handling for protocol errors or inconsistent state that makes further event handling impossible. Signed-off-by: Ophestra --- internal/pipewire/client.go | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'internal/pipewire/client.go') diff --git a/internal/pipewire/client.go b/internal/pipewire/client.go index 7c619ca8..8e901d8e 100644 --- a/internal/pipewire/client.go +++ b/internal/pipewire/client.go @@ -94,14 +94,12 @@ type Client struct { Properties SPADict `json:"props"` } -func (client *Client) consume(opcode byte, files []int, unmarshal func(v any) error) error { - if err := closeReceivedFiles(files...); err != nil { - return err - } - +func (client *Client) consume(opcode byte, files []int, unmarshal func(v any)) error { + closeReceivedFiles(files...) switch opcode { case PW_CLIENT_EVENT_INFO: - return unmarshal(&client.Info) + unmarshal(&client.Info) + return nil default: return &UnsupportedOpcodeError{opcode, client.String()} -- cgit v1.3.1