get_mixer_device() can return NULL when no mixer device is configured
for the device, so mdev2 can be NULL.
mdev = NULL;
PA_DYNARRAY_FOREACH(dev, data->devices, idx) {
mdev2 = get_mixer_device(dev, is_sink);
- if (mdev && !pa_streq(mdev, mdev2)) {
+ if (mdev && mdev2 && !pa_streq(mdev, mdev2)) {
pa_log_error("Two mixer device names found ('%s', '%s'), using s/w volume", mdev, mdev2);
goto fail;
}
- mdev = mdev2;
+ if (mdev2)
+ mdev = mdev2;
}
if (mdev == NULL || !(mixer_handle = pa_alsa_open_mixer_by_name(mixers, mdev, true))) {