aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/pipewire
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2025-12-06 21:09:55 +0900
committerOphestra <cat@gensokyo.uk>2025-12-06 21:09:55 +0900
commitbb1fc4c7bcd9730b774f2afb079b814c928c0b5a (patch)
tree0400e5461a27233608d97a2b45ff2662b88cc17e /internal/pipewire
parentf44923da296720360e359016ac83c6a56deeb0f1 (diff)
internal/pipewire: check pending ids after done
This is not guaranteed to have completed after a roundtrip. This is leftover from when Roundtrip also sent and waited for sync. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/pipewire')
-rw-r--r--internal/pipewire/core.go6
-rw-r--r--internal/pipewire/pipewire.go8
2 files changed, 6 insertions, 8 deletions
diff --git a/internal/pipewire/core.go b/internal/pipewire/core.go
index 4642bdba..6a8af0ba 100644
--- a/internal/pipewire/core.go
+++ b/internal/pipewire/core.go
@@ -3,6 +3,8 @@ package pipewire
import (
"errors"
"fmt"
+ "maps"
+ "slices"
"strconv"
"time"
)
@@ -373,6 +375,10 @@ func (core *Core) Sync() error {
}
}
+ if len(core.ctx.pendingIds) != 0 {
+ core.ctx.closeReceivedFiles()
+ return &ProxyFatalError{Err: UnacknowledgedProxyError(slices.Collect(maps.Keys(core.ctx.pendingIds))), ProxyErrs: core.ctx.cloneAsProxyErrors()}
+ }
return core.ctx.doSyncComplete()
}
diff --git a/internal/pipewire/pipewire.go b/internal/pipewire/pipewire.go
index 06f7fc6a..907f8543 100644
--- a/internal/pipewire/pipewire.go
+++ b/internal/pipewire/pipewire.go
@@ -18,7 +18,6 @@ import (
"encoding/binary"
"fmt"
"io"
- "maps"
"os"
"runtime"
"slices"
@@ -601,13 +600,6 @@ func (ctx *Context) roundtrip() (err error) {
err = &ProxyFatalError{Err: danglingFiles, ProxyErrs: ctx.cloneAsProxyErrors()}
return
}
-
- // this check must happen after everything else passes
- if len(ctx.pendingIds) != 0 {
- ctx.closeReceivedFiles()
- err = &ProxyFatalError{Err: UnacknowledgedProxyError(slices.Collect(maps.Keys(ctx.pendingIds))), ProxyErrs: ctx.cloneAsProxyErrors()}
- return
- }
}()
var remaining []byte