aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/pipewire/client.go
AgeCommit message (Collapse)Author
2025-12-13internal/pipewire: implement Core::RemoveIdOphestra
This is emitted by the server when a proxy id is removed for any reason. Currently, the only path for this to be emitted is when a global object is destroyed while some proxy is still bound to it. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-12-11internal/pipewire: treat unknown opcode as fatalOphestra
Skipping events can cause local state to diverge from the server. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-12-07internal/pipewire: specify opcode and file count with messageOphestra
This adds checking of FileCount while writing a message. Message encoding is relocated to an exported method to be used externally, probably for test stubbing. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-12-03internal/pipewire: collect non-protocol errorsOphestra
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 <cat@gensokyo.uk>
2025-12-02internal/pipewire: implement client contextOphestra
This consumes the entire sample, is validated to send identical messages and correctly handle received messages. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-28internal/pipewire: add json struct tagsOphestra
These match the names found in documentation. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-27internal/pipewire: size without serialisationOphestra
This is required to achieve zero allocation (other than reflect). Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-26internal/pipewire: optional final trailing garbage checkOphestra
Omitting the check is only useful for custom unmarshaler. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-26internal/pipewire: implement Client::InfoOphestra
Everything is already supported, as usual. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-25internal/pipewire: implement Client::UpdatePropertiesOphestra
This is the second message on the captured sample. Signed-off-by: Ophestra <cat@gensokyo.uk>