On 21.04.2017 15:32, Tanu Kaskinen wrote:
Hi all,

It's been three months since the last release, which means that it's
time to freeze the master branch in preparation for the next release.


Here's a review of the current blockers:

frequent crash in pa_alsa_path_set_volume
https://bugs.freedesktop.org/show_bug.cgi?id=65520

     Needs investigation, might be difficult to fix.

I took a look into this one and at the log at
https://launchpadlibrarian.net/308478962/pulseverbose.log

The only possibility it can fail this way is when the channel volumes
of s->real_volume or s->thread_info.current_hw_volume are larger
than PA_VOLUME_MAX / 10.

There are only two calls to pa_alsa_path_set_volume() and each of
them is preceded by a call to pa_sw_cvolume_divide_scalar(). This
call succeeds, otherwise it would return NULL and
pa_alsa_path_set_volume() would crash at another assertion.
pa_sw_cvolume_divide_scalar() also checks the volumes on entry,
so we can be sure the volumes are valid at that point in time.
A base volume of -60dB corresponds to
s->base_volume = 0.1 * PA_VOLUME_NORM.

This means that pa_sw_volume_divide() which is called by
pa_sw_cvolume_divide_scalar() roughly multiplies the input channel
values by 10, which leads to the statement above.

Can we simply clip pa_sw_volume_divide() at PA_VOLUME_MAX?

Or will we need further investigation?

Regards

            Georg

_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Reply via email to