aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/pipewire/pipewire.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/pipewire/pipewire.go')
-rw-r--r--internal/pipewire/pipewire.go12
1 files changed, 12 insertions, 0 deletions
diff --git a/internal/pipewire/pipewire.go b/internal/pipewire/pipewire.go
index d17edf90..59ce7c5e 100644
--- a/internal/pipewire/pipewire.go
+++ b/internal/pipewire/pipewire.go
@@ -218,6 +218,14 @@ func (ctx *Context) writeMessage(Id Int, v Message) (err error) {
return
}
+// mustWriteMessage calls writeMessage and panics if a non-nil error is returned.
+// This must only be called from eventProxy.consume.
+func (ctx *Context) mustWriteMessage(Id Int, v Message) {
+ if err := ctx.writeMessage(Id, v); err != nil {
+ panic(err)
+ }
+}
+
// newProxyId returns a newly allocated proxy Id for the specified type.
func (ctx *Context) newProxyId(proxy eventProxy, ack bool) Int {
newId := ctx.nextId
@@ -620,6 +628,10 @@ func (ctx *Context) roundtrip() (err error) {
}
}
+// currentRemoteSeq returns the current remote sequence number.
+// This must only be called from eventProxy.consume.
+func (ctx *Context) currentRemoteSeq() Int { return ctx.remoteSequence - 1 }
+
// consume receives messages from the server and processes events.
func (ctx *Context) consume(receiveRemaining []byte) (remaining []byte, err error) {
defer func() {