[pulseaudio-discuss] volume_writable and save_volume crash

David Henningsson david.henningsson at canonical.com
Tue May 14 01:31:11 PDT 2013


This bug [1] is still reported as present in 3.0, so I tried to track it 
down, but I'm not sure what the best fix is. Here's where it crashes:

module-stream-restore.c:
         if (sink_input->save_volume && 
pa_sink_input_is_volume_readable(sink_input)) {
             pa_assert(sink_input->volume_writable);

According to this code, volume_writeable must be true if save_volume is 
true. It apparently isn't always so.

But what is the right solution?
  1) Ignore volume_writable, i e, just remove the assertion, or
  2) If volume_writable is false, skip saving the volume, but not mute 
and route, or
  3) If volume_writable is false, skip saving the sink input completely

Or, should one
  4) Change everywhere that sets save_volume to "true" to also check for 
volume_writable and if so never set save_volume to true?

I'm not sure what the thoughts are behind these two variables, so 
looking for advice here.

-- 
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic

[1] https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/896602


More information about the pulseaudio-discuss mailing list