aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/pipewire/header_test.go
AgeCommit message (Collapse)Author
2025-11-30internal/pipewire: implement Core::ErrorOphestra
Sample was captured from pw-cli. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-29internal/pipewire: implement Core::Ping, Core::PongOphestra
I could not get the server to produce these events, however I am confident enough with the implementation to do it by hand. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-29internal/pipewire: implement SecurityContext::CreateOphestra
This is finally the thing we are after. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-29internal/pipewire: implement Registry::BindOphestra
This change also adds test cases for messages before this one. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-28internal/pipewire: implement Registry::GlobalOphestra
Dealing with this event reawakened my burning hatred for OOP. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-28internal/pipewire: store sample iovec continuouslyOphestra
This removes the need for manual splitting. The understanding of the format is robust enough to allow this to happen anyway. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-27internal/pipewire: shorten test data filenamesOphestra
These were getting very annoying to type. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-26internal/pipewire: implement Core::DoneOphestra
The message in the sample does not correspond to any known method call. The spec does not mention what to do with messages like this, but all existing usage code simply drops it. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-26internal/pipewire: additional Client::Info test caseOphestra
This appears to add *one single entry* compared to the message before it. The inefficiency of this protocol is beyond imagination. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-26internal/pipewire: additional Client::Info test caseOphestra
This message follows the other Client::Info event before it. No idea why. 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 Core::BoundPropsOphestra
Very straightforward type, everything is already supported. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-25internal/pipewire: implement Core::Info and generation footerOphestra
These are not directly related but are first encountered on the same message in the capture. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-25internal/pipewire: implement Core::SyncOphestra
Once again, already entirely supported, the offset is not yet fully verified but makes intuitive sense. Will verify this on future occurrences of the message. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-25internal/pipewire: implement Core::GetRegistryOphestra
This struct is entirely supported, so this change is very straightforward. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-25internal/pipewire: move test data to filesOphestra
These get very big later on, and would be painful to represent as the compound literal. 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>
2025-11-24internal/pipewire: add type constantsOphestra
This change also centralises encoding testing. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-23internal/pipewire: implement message headerOphestra
Test cases are from interactions between pw-container and PipeWire. Results are validated against corresponding body. Signed-off-by: Ophestra <cat@gensokyo.uk>