device.vendor.id and device.product.id are showing up as floating point numbers
- PipeWire version: 0.3.53 & 0.3.54
- Distribution: Debian GNU/Linux 11 (bullseye)
- Desktop Environment: KDE Plasma 5.20.5
- Kernel version: 5.18.0-0.bpo.1-amd64
Description of Problem:
After upgrading from 0.3.52 to 0.3.53, my device.vendor.id and device.product.id values are showing up as different types than they were before. In the previous version of pipewire, they all showed up as integers. After the upgrade, some are showing as floating point values, some as integers, and some as strings.
This change broke the matching rules in my WirePlumber configs. I could adapt them, but:
It also looks very strange for values that are natively integers to be represented in PipeWire with a decimal point and six trailing zeroes, and even stranger that the types are inconsistent between devices. I believe they should all be either integers or strings.
How Reproducible:
Easy, although the type changes seem to vary depending on the device. My PCIe device's IDs both changed from integers to floating point. My USB device's product ID remained an integer, while its vendor ID changed to a string.
Steps to Reproduce:
- pw-dump |grep -E 'device.(product|vendor).id'
Actual Results:
"device.product.id": 1.000000,
"device.vendor.id": 1234.000000,
"device.product.id": 1,
"device.vendor.id": "5678",
Expected Results:
"device.product.id": 1,
"device.vendor.id": 1234,
"device.product.id": 1,
"device.vendor.id": 5678,