aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/pipewire/header_test.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2025-11-29 02:58:44 +0900
committerOphestra <cat@gensokyo.uk>2025-11-29 03:01:53 +0900
commit5a5c4705dd47c7e27f49526b4ccf0d4c7c1bab5a (patch)
treea4f01207e10d1a6f5b545f3e54eaddbac3e12ef8 /internal/pipewire/header_test.go
parentf703aa20a599529aace054ef8befc5128afb59e2 (diff)
internal/pipewire: implement Registry::Bind
This change also adds test cases for messages before this one. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/pipewire/header_test.go')
-rw-r--r--internal/pipewire/header_test.go43
1 files changed, 38 insertions, 5 deletions
diff --git a/internal/pipewire/header_test.go b/internal/pipewire/header_test.go
index a35ed983..63692769 100644
--- a/internal/pipewire/header_test.go
+++ b/internal/pipewire/header_test.go
@@ -11,6 +11,9 @@ func TestHeader(t *testing.T) {
t.Parallel()
encodingTestCases[pipewire.Header, *pipewire.Header]{
+
+ /* sendmsg 0 */
+
{"PW_CORE_METHOD_HELLO", samplePWContainer[0][0][0], pipewire.Header{
ID: pipewire.PW_ID_CORE,
Opcode: pipewire.PW_CORE_METHOD_HELLO,
@@ -35,37 +38,39 @@ func TestHeader(t *testing.T) {
Size: 0x28, Sequence: 3, FileCount: 0,
}, nil},
+ /* recvmsg 0 */
+
{"PW_CORE_EVENT_INFO", samplePWContainer[1][0][0], pipewire.Header{
ID: pipewire.PW_ID_CORE,
Opcode: pipewire.PW_CORE_EVENT_INFO,
Size: 0x6b8, Sequence: 0, FileCount: 0,
}, nil},
- {"PW_CORE_EVENT_BOUND_PROPS", samplePWContainer[1][1][0], pipewire.Header{
+ {"PW_CORE_EVENT_BOUND_PROPS 0", samplePWContainer[1][1][0], pipewire.Header{
ID: pipewire.PW_ID_CORE,
Opcode: pipewire.PW_CORE_EVENT_BOUND_PROPS,
Size: 0x198, Sequence: 1, FileCount: 0,
}, nil},
- {"PW_CLIENT_EVENT_INFO", samplePWContainer[1][2][0], pipewire.Header{
+ {"PW_CLIENT_EVENT_INFO 0", samplePWContainer[1][2][0], pipewire.Header{
ID: pipewire.PW_ID_CLIENT,
Opcode: pipewire.PW_CLIENT_EVENT_INFO,
Size: 0x1f0, Sequence: 2, FileCount: 0,
}, nil},
- {"PW_CLIENT_EVENT_INFO*", samplePWContainer[1][3][0], pipewire.Header{
+ {"PW_CLIENT_EVENT_INFO 1", samplePWContainer[1][3][0], pipewire.Header{
ID: pipewire.PW_ID_CLIENT,
Opcode: pipewire.PW_CLIENT_EVENT_INFO,
Size: 0x7a0, Sequence: 3, FileCount: 0,
}, nil},
- {"PW_CLIENT_EVENT_INFO**", samplePWContainer[1][4][0], pipewire.Header{
+ {"PW_CLIENT_EVENT_INFO 2", samplePWContainer[1][4][0], pipewire.Header{
ID: pipewire.PW_ID_CLIENT,
Opcode: pipewire.PW_CLIENT_EVENT_INFO,
Size: 0x7d0, Sequence: 4, FileCount: 0,
}, nil},
- {"PW_CORE_EVENT_DONE", samplePWContainer[1][5][0], pipewire.Header{
+ {"PW_CORE_EVENT_DONE 0", samplePWContainer[1][5][0], pipewire.Header{
ID: pipewire.PW_ID_CORE,
Opcode: pipewire.PW_CORE_EVENT_DONE,
Size: 0x58, Sequence: 5, FileCount: 0,
@@ -281,6 +286,34 @@ func TestHeader(t *testing.T) {
Size: 0x238, Sequence: 40, FileCount: 0,
}, nil},
+ {"PW_CORE_EVENT_DONE 1", samplePWContainer[1][41][0], pipewire.Header{
+ ID: pipewire.PW_ID_CORE,
+ Opcode: pipewire.PW_CORE_EVENT_DONE,
+ Size: 0x28, Sequence: 41, FileCount: 0,
+ }, nil},
+
+ {"PW_REGISTRY_EVENT_GLOBAL 35", samplePWContainer[1][42][0], pipewire.Header{
+ ID: 2,
+ Opcode: pipewire.PW_REGISTRY_EVENT_GLOBAL,
+ Size: 0x268, Sequence: 42, FileCount: 0,
+ }, nil},
+
+ /* sendmsg 1 */
+
+ {"PW_REGISTRY_METHOD_BIND", samplePWContainer[3][0][0], pipewire.Header{
+ ID: 2,
+ Opcode: pipewire.PW_REGISTRY_METHOD_BIND,
+ Size: 0x98, Sequence: 4, FileCount: 0,
+ }, nil},
+
+ /* recvmsg 1 */
+
+ {"PW_CORE_EVENT_BOUND_PROPS 1", samplePWContainer[4][0][0], pipewire.Header{
+ ID: pipewire.PW_ID_CORE,
+ Opcode: pipewire.PW_CORE_EVENT_BOUND_PROPS,
+ Size: 0x68, Sequence: 43, FileCount: 0,
+ }, nil},
+
{"PW_SECURITY_CONTEXT_METHOD_CREATE", []byte{
// Id
3, 0, 0, 0,