package pipewire_test import ( "testing" "hakurei.app/internal/pipewire" ) func TestClientUpdateProperties(t *testing.T) { encodingTestCases[pipewire.ClientUpdateProperties, *pipewire.ClientUpdateProperties]{ {"sample", []byte{ // ClientUpdateProperties: size 0xf8, 5, 0, 0, // ClientUpdateProperties: struct 0xe, 0, 0, 0, // ClientUpdateProperties.Props: size 0xf0, 5, 0, 0, // ClientUpdateProperties.Props: struct 0xe, 0, 0, 0, // ClientUpdateProperties.Props.NItems: size 4, 0, 0, 0, // ClientUpdateProperties.Props.NItems: int 4, 0, 0, 0, 0x1e, 0, 0, 0, 0, 0, 0, 0, // ClientUpdateProperties.Props.Items 0x11, 0, 0, 0, 8, 0, 0, 0, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0, 0x11, 0, 0, 0, 8, 0, 0, 0, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0, 0, 0, 0, 0, 0, 0, 0, 0xd, 0, 0, 0, 8, 0, 0, 0, 0x70, 0x77, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0, 0, 0, 0, 0x1b, 0, 0, 0, 8, 0, 0, 0, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0, 0, 0, 0, 0, 0, 0xd, 0, 0, 0, 8, 0, 0, 0, 0x70, 0x77, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0, 0, 0, 0, 0x15, 0, 0, 0, 8, 0, 0, 0, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0, 0, 0, 0, 0xc, 0, 0, 0, 8, 0, 0, 0, 0x65, 0x6e, 0x5f, 0x55, 0x53, 0x2e, 0x55, 0x54, 0x46, 0x2d, 0x38, 0, 0, 0, 0, 0, 0x17, 0, 0, 0, 8, 0, 0, 0, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x69, 0x64, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0x31, 0x34, 0x34, 0x33, 0, 0, 0, 0, 0x19, 0, 0, 0, 8, 0, 0, 0, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x75, 0x73, 0x65, 0x72, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 8, 0, 0, 0, 0x61, 0x6c, 0x69, 0x63, 0x65, 0, 0, 0, 0x19, 0, 0, 0, 8, 0, 0, 0, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x68, 0x6f, 0x73, 0x74, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 8, 0, 0, 0, 0x6e, 0x69, 0x78, 0x6f, 0x73, 0, 0, 0, 0x1f, 0, 0, 0, 8, 0, 0, 0, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2d, 0x69, 0x64, 0, 0, 2, 0, 0, 0, 8, 0, 0, 0, 0x31, 0, 0, 0, 0, 0, 0, 0, 0x13, 0, 0, 0, 8, 0, 0, 0, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x78, 0x31, 0x31, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 8, 0, 0, 0, 0x3a, 0x30, 0, 0, 0, 0, 0, 0, 0xc, 0, 0, 0, 8, 0, 0, 0, 0x63, 0x70, 0x75, 0x2e, 0x76, 0x6d, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0, 0, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0x71, 0x65, 0x6d, 0x75, 0, 0, 0, 0, 0xa, 0, 0, 0, 8, 0, 0, 0, 0x6c, 0x6f, 0x67, 0x2e, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 8, 0, 0, 0, 0x30, 0, 0, 0, 0, 0, 0, 0, 0xe, 0, 0, 0, 8, 0, 0, 0, 0x63, 0x70, 0x75, 0x2e, 0x6d, 0x61, 0x78, 0x2d, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0, 0, 0, 3, 0, 0, 0, 8, 0, 0, 0, 0x33, 0x32, 0, 0, 0, 0, 0, 0, 0x13, 0, 0, 0, 8, 0, 0, 0, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x72, 0x61, 0x74, 0x65, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 8, 0, 0, 0, 0x34, 0x38, 0x30, 0x30, 0x30, 0, 0, 0, 0x16, 0, 0, 0, 8, 0, 0, 0, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x75, 0x6d, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0x31, 0x30, 0x32, 0x34, 0, 0, 0, 0, 0x1a, 0, 0, 0, 8, 0, 0, 0, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x6d, 0x69, 0x6e, 0x2d, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x75, 0x6d, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 8, 0, 0, 0, 0x33, 0x32, 0, 0, 0, 0, 0, 0, 0x1a, 0, 0, 0, 8, 0, 0, 0, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x6d, 0x61, 0x78, 0x2d, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x75, 0x6d, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0x32, 0x30, 0x34, 0x38, 0, 0, 0, 0, 0x1c, 0, 0, 0, 8, 0, 0, 0, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x75, 0x6d, 0x2d, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0, 0, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0x38, 0x31, 0x39, 0x32, 0, 0, 0, 0, 0x1c, 0, 0, 0, 8, 0, 0, 0, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x75, 0x6d, 0x2d, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0, 0, 0, 0, 0, 2, 0, 0, 0, 8, 0, 0, 0, 0x34, 0, 0, 0, 0, 0, 0, 0, 0x14, 0, 0, 0, 8, 0, 0, 0, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x77, 0x69, 0x64, 0x74, 0x68, 0, 0, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 0x36, 0x34, 0x30, 0, 0, 0, 0, 0, 0x15, 0, 0, 0, 8, 0, 0, 0, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 0x34, 0x38, 0x30, 0, 0, 0, 0, 0, 0x17, 0, 0, 0, 8, 0, 0, 0, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x6e, 0x75, 0x6d, 0, 0, 3, 0, 0, 0, 8, 0, 0, 0, 0x32, 0x35, 0, 0, 0, 0, 0, 0, 0x19, 0, 0, 0, 8, 0, 0, 0, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 8, 0, 0, 0, 0x31, 0, 0, 0, 0, 0, 0, 0, 0x1b, 0, 0, 0, 8, 0, 0, 0, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x2d, 0x6f, 0x66, 0x2d, 0x74, 0x77, 0x6f, 0x2d, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x75, 0x6d, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0x74, 0x72, 0x75, 0x65, 0, 0, 0, 0, 0x11, 0, 0, 0, 8, 0, 0, 0, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x6d, 0x61, 0x78, 0x2d, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 8, 0, 0, 0, 0x36, 0x34, 0, 0, 0, 0, 0, 0, 0xf, 0, 0, 0, 8, 0, 0, 0, 0x6d, 0x65, 0x6d, 0x2e, 0x77, 0x61, 0x72, 0x6e, 0x2d, 0x6d, 0x6c, 0x6f, 0x63, 0x6b, 0, 0, 6, 0, 0, 0, 8, 0, 0, 0, 0x66, 0x61, 0x6c, 0x73, 0x65, 0, 0, 0, 0x10, 0, 0, 0, 8, 0, 0, 0, 0x6d, 0x65, 0x6d, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x2d, 0x6d, 0x6c, 0x6f, 0x63, 0x6b, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0x74, 0x72, 0x75, 0x65, 0, 0, 0, 0, 0x17, 0, 0, 0, 8, 0, 0, 0, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2d, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x75, 0x6d, 0, 0, 6, 0, 0, 0, 8, 0, 0, 0, 0x66, 0x61, 0x6c, 0x73, 0x65, 0, 0, 0, 0x14, 0, 0, 0, 8, 0, 0, 0, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2d, 0x72, 0x61, 0x74, 0x65, 0, 0, 0, 0, 0, 6, 0, 0, 0, 8, 0, 0, 0, 0x66, 0x61, 0x6c, 0x73, 0x65, 0, 0, 0, 0xd, 0, 0, 0, 8, 0, 0, 0, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0, 0, 0, 0, 6, 0, 0, 0, 8, 0, 0, 0, 0x31, 0x2e, 0x34, 0x2e, 0x37, 0, 0, 0, 0xa, 0, 0, 0, 8, 0, 0, 0, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0, 0, 0, 0, 0, 0, 0, 0x14, 0, 0, 0, 8, 0, 0, 0, 0x70, 0x69, 0x70, 0x65, 0x77, 0x69, 0x72, 0x65, 0x2d, 0x61, 0x6c, 0x69, 0x63, 0x65, 0x2d, 0x31, 0x34, 0x34, 0x33, 0, 0, 0, 0, 0, }, pipewire.ClientUpdateProperties{Props: &pipewire.SPADict{NItems: 0x1e, Items: []pipewire.SPADictItem{ {Key: "remote.intention", Value: "manager"}, {Key: "application.name", Value: "pw-container"}, {Key: "application.process.binary", Value: "pw-container"}, {Key: "application.language", Value: "en_US.UTF-8"}, {Key: "application.process.id", Value: "1443"}, {Key: "application.process.user", Value: "alice"}, {Key: "application.process.host", Value: "nixos"}, {Key: "application.process.session-id", Value: "1"}, {Key: "window.x11.display", Value: ":0"}, {Key: "cpu.vm.name", Value: "qemu"}, {Key: "log.level", Value: "0"}, {Key: "cpu.max-align", Value: "32"}, {Key: "default.clock.rate", Value: "48000"}, {Key: "default.clock.quantum", Value: "1024"}, {Key: "default.clock.min-quantum", Value: "32"}, {Key: "default.clock.max-quantum", Value: "2048"}, {Key: "default.clock.quantum-limit", Value: "8192"}, {Key: "default.clock.quantum-floor", Value: "4"}, {Key: "default.video.width", Value: "640"}, {Key: "default.video.height", Value: "480"}, {Key: "default.video.rate.num", Value: "25"}, {Key: "default.video.rate.denom", Value: "1"}, {Key: "clock.power-of-two-quantum", Value: "true"}, {Key: "link.max-buffers", Value: "64"}, {Key: "mem.warn-mlock", Value: "false"}, {Key: "mem.allow-mlock", Value: "true"}, {Key: "settings.check-quantum", Value: "false"}, {Key: "settings.check-rate", Value: "false"}, {Key: "core.version", Value: "1.4.7"}, {Key: "core.name", Value: "pipewire-alice-1443"}, }}}, nil}, }.run(t) }