From 00a5bdf006ba800e0797ff4c2b732e5df4fa28ff Mon Sep 17 00:00:00 2001 From: Ophestra Date: Sun, 14 Dec 2025 09:06:44 +0900 Subject: internal/pipewire: do not emit None for spa_dict Turns out the PipeWire server does not expect a value of type None here at all. Signed-off-by: Ophestra --- internal/pipewire/pod.go | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) (limited to 'internal/pipewire/pod.go') diff --git a/internal/pipewire/pod.go b/internal/pipewire/pod.go index caf83fd0..7cfafc87 100644 --- a/internal/pipewire/pod.go +++ b/internal/pipewire/pod.go @@ -524,9 +524,8 @@ type SPADict []SPADictItem // Size satisfies [KnownSize] with a value computed at runtime. func (d *SPADict) Size() Word { - if *d == nil { - // None type prefix with zero-length body - return SizePrefix + if d == nil { + return 0 } // struct prefix, NItems value @@ -541,11 +540,6 @@ func (d *SPADict) Size() Word { // MarshalPOD satisfies [PODMarshaler] as [SPADict] violates the POD type system. func (d *SPADict) MarshalPOD(data []byte) ([]byte, error) { return appendInner(data, func(dataPrefix []byte) (data []byte, err error) { - if *d == nil { - data = SPA_TYPE_None.append(dataPrefix) - return - } - data = SPA_TYPE_Struct.append(dataPrefix) if data, err = MarshalAppend(data, Int(len(*d))); err != nil { return @@ -565,14 +559,6 @@ func (d *SPADict) MarshalPOD(data []byte) ([]byte, error) { // UnmarshalPOD satisfies [PODUnmarshaler] as [SPADict] violates the POD type system. func (d *SPADict) UnmarshalPOD(data []byte) (Word, error) { var wireSize Word - - if ok, err := unmarshalHandleNone(&data, &wireSize); err != nil { - return wireSize, err - } else if ok { - *d = nil - return wireSize, nil - } - if err := unmarshalCheckTypeBounds(&data, SPA_TYPE_Struct, &wireSize); err != nil { return wireSize, err } -- cgit v1.3.1