output/PipeWire: check SPA_PROP_channelVolumes, not control name

Since PipeWire 0.3.53, there is no control name anymore, therefore the
name check doesn't work anymore, breaking volume change events.

This obsoletes the crash bug fix in commit 2ee57f9b0d
This commit is contained in:
Max Kellermann 2022-07-08 17:59:07 +02:00
parent 792d6584b9
commit f08944253b
2 changed files with 5 additions and 4 deletions

3
NEWS
View File

@ -5,12 +5,11 @@ ver 0.23.8 (not yet released)
- cdio_paranoia: fix crash if no drive was found
- cdio_paranoia: faster cancellation
- cdio_paranoia: don't scan for replay gain tags
* output
- pipewire: fix crash with PipeWire 0.3.53
* mixer
- better error messages
- alsa: fix setting volume before playback starts
- pipewire: fix crash bug
- pipewire: fix volume change events with PipeWire 0.3.53
* support libfmt 9
ver 0.23.7 (2022/05/09)

View File

@ -236,9 +236,11 @@ private:
void ControlInfo([[maybe_unused]] uint32_t id,
const struct pw_stream_control &control) noexcept {
if (control.name != nullptr &&
StringIsEqual(control.name, "Channel Volumes"))
switch (id) {
case SPA_PROP_channelVolumes:
OnChannelVolumes(control);
break;
}
}
static void ControlInfo(void *data, uint32_t id,