diff options
| author | Ophestra <cat@gensokyo.uk> | 2025-12-10 00:59:01 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2025-12-10 01:00:03 +0900 |
| commit | d8417e292762eebbbe7203aa98eb34eb5c34434e (patch) | |
| tree | 006d34dd9197106a6fea9597eb3bd3578bf3f29f /internal/pipewire/pipewire_test.go | |
| parent | ccc0d98bd72e84b066fcbf9677a75293e2b850e1 (diff) | |
internal/pipewire: implement Registry::GlobalRemove
This is emitted by PipeWire when a global object disappears, because PipeWire insists that all clients that had called Core::GetRegistry must constantly sync its local registry state with the remote.
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/pipewire/pipewire_test.go')
| -rw-r--r-- | internal/pipewire/pipewire_test.go | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/internal/pipewire/pipewire_test.go b/internal/pipewire/pipewire_test.go index 535bac03..7c2cc332 100644 --- a/internal/pipewire/pipewire_test.go +++ b/internal/pipewire/pipewire_test.go @@ -862,6 +862,14 @@ func TestContextErrors(t *testing.T) { ID: 0xbad, Sequence: 0xcafe, }, "received Core::Ping seq 51966 targeting unknown proxy id 2989"}, + + {"GlobalIDCollisionError", &pipewire.GlobalIDCollisionError{ + ID: 0xbad, + Previous: &pipewire.RegistryGlobal{Type: "PipeWire:Interface:Invalid"}, + Current: &pipewire.RegistryGlobal{Type: "PipeWire:Interface:NewInvalid"}, + }, "new Registry::Global event for PipeWire:Interface:NewInvalid stepping on previous id 2989 for PipeWire:Interface:Invalid"}, + + {"UnknownGlobalIDRemoveError", pipewire.UnknownGlobalIDRemoveError(0xbad), "Registry::GlobalRemove event targets unknown id 2989"}, } for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { |
