mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-10-29 05:40:27 -04:00
acp: handle some more mixer NULL cases
These are in pulseaudio handled with asserts. Fixes #2612
This commit is contained in:
parent
df58a201f5
commit
1118c35956
1 changed files with 13 additions and 0 deletions
|
|
@ -1058,6 +1058,9 @@ static int read_volume(pa_alsa_device *dev)
|
|||
uint32_t i;
|
||||
int res;
|
||||
|
||||
if (!dev->mixer_handle)
|
||||
return 0;
|
||||
|
||||
if ((res = pa_alsa_path_get_volume(dev->mixer_path, dev->mixer_handle, &dev->mapping->channel_map, &r)) < 0)
|
||||
return res;
|
||||
|
||||
|
|
@ -1089,6 +1092,9 @@ static void set_volume(pa_alsa_device *dev, const pa_cvolume *v)
|
|||
|
||||
dev->real_volume = *v;
|
||||
|
||||
if (!dev->mixer_handle)
|
||||
return;
|
||||
|
||||
/* Shift up by the base volume */
|
||||
pa_sw_cvolume_divide_scalar(&r, &dev->real_volume, dev->base_volume);
|
||||
|
||||
|
|
@ -1139,6 +1145,9 @@ static int read_mute(pa_alsa_device *dev)
|
|||
bool mute;
|
||||
int res;
|
||||
|
||||
if (!dev->mixer_handle)
|
||||
return 0;
|
||||
|
||||
if ((res = pa_alsa_path_get_mute(dev->mixer_path, dev->mixer_handle, &mute)) < 0)
|
||||
return res;
|
||||
|
||||
|
|
@ -1157,6 +1166,10 @@ static int read_mute(pa_alsa_device *dev)
|
|||
static void set_mute(pa_alsa_device *dev, bool mute)
|
||||
{
|
||||
dev->muted = mute;
|
||||
|
||||
if (!dev->mixer_handle)
|
||||
return;
|
||||
|
||||
pa_alsa_path_set_mute(dev->mixer_path, dev->mixer_handle, mute);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue