Tracking down the pa_sink_set_volume call (which is what pactl set-sink-
volume uses), the original sink had the correct real volume, but a wrong
soft_volume (as in my use case the driver/hw is not providing hardware
volume support). The soft_volume was actually at the max volume, which
is the initial value provided by pa_sink_new.
Follows the dbg info from the first call to pa_sink_set_volume call (via
pactl):
Breakpoint 1, pa_sink_set_volume (s=s@entry=0x821c8,
volume=volume@entry=0xbeffeeb4, send_msg=send_msg@entry=true,
save=save@entry=true) at pulsecore/sink.c:1990
1990 pulsecore/sink.c: No such file or directory.
(gdb) p *s
$1 = {parent = {parent = {_ref = {value = 2}, type_id = 0xb6fb036c
<pa_sink_type_id> "pa_sink", free = 0xb6f82ffd <sink_free>, check_type =
0xb6f81859 <pa_sink_check_type>}, process_msg = 0xb11eb29d <sink_process_msg>},
index = 1, core = 0x38350,
state = PA_SINK_SUSPENDED, flags = (PA_SINK_LATENCY | PA_SINK_HARDWARE |
PA_SINK_DECIBEL_VOLUME), suspend_cause = PA_SUSPEND_IDLE, name = 0x82df8
"sink.primary", driver = 0x82f78 "module-droid-card.c", proplist = 0x827b0,
module = 0x44c48, card = 0x6c020,
sample_spec = {format = PA_SAMPLE_S16LE, rate = 44100, channels = 2 '\002'},
channel_map = {channels = 2 '\002', map = {PA_CHANNEL_POSITION_FRONT_LEFT,
PA_CHANNEL_POSITION_FRONT_RIGHT, PA_CHANNEL_POSITION_MONO <repeats 30 times>}},
default_sample_rate = 44100,
alternate_sample_rate = 48000, inputs = 0x829c8, n_corked = 0, monitor_source
= 0x83788, input_to_master = 0x0, base_volume = 65536, n_volume_steps = 65537,
reference_volume = {channels = 2 '\002', values = {9830, 9830, 0 <repeats 30
times>}}, real_volume = {
channels = 2 '\002', values = {9830, 9830, 0 <repeats 30 times>}},
soft_volume = {channels = 2 '\002', values = {65536, 65536, 0 <repeats 30
times>}}, muted = false, refresh_volume = false, refresh_muted = false,
save_port = false, save_volume = true,
save_muted = false, saved_volume = {channels = 0 '\000', values = {0 <repeats
32 times>}}, saved_save_volume = false, asyncmsgq = 0x61378, silence =
{memblock = 0xb23fc000, index = 0, length = 65496}, ports = 0x81d28,
active_port = 0x61aa8, mixer_dirty = {value = 0},
latency_offset = 0, priority = 9000, set_state = 0x0, get_volume = 0x0,
set_volume = 0x0, write_volume = 0x0, get_mute = 0x0, set_mute = 0x0,
request_rewind = 0x0, update_requested_latency = 0x0, set_port = 0xb11eb9a5
<sink_set_port_cb>, get_formats = 0x0,
set_formats = 0x0, update_rate = 0x0, thread_info = {state =
PA_SINK_SUSPENDED, inputs = 0x83038, rtpoll = 0x60d78, soft_volume = {channels
= 2 '\002', values = {65536, 65536, 0 <repeats 30 times>}}, soft_muted = false,
requested_latency_valid = false,
requested_latency = 0, max_rewind = 0, max_request = 0, rewind_nbytes = 0,
rewind_requested = false, min_latency = 500, max_latency = 10000000,
fixed_latency = 23311, latency_offset = 0, volume_changes = 0x0,
volume_changes_tail = 0x0, current_hw_volume = {
channels = 2 '\002', values = {9830, 9830, 0 <repeats 30 times>}},
volume_change_safety_margin = 1, volume_change_extra_delay = 0}, userdata =
0x60cc8}
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/598308
Title:
Volume at login set to Maximum
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/598308/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs