[pulseaudio-tickets] [PulseAudio] #572: PulseAudio mutes Master channel upon logout

PulseAudio trac-noreply at tango.0pointer.de
Mon Dec 14 01:49:27 PST 2009


#572: PulseAudio mutes Master channel upon logout
----------------------------+-----------------------------------------------
  Reporter:  diverse_izzue  |       Owner:  lennart
      Type:  defect         |      Status:  new    
 Milestone:                 |   Component:  daemon 
Resolution:                 |    Keywords:         
----------------------------+-----------------------------------------------

Comment(by coling):

 I'm not really convinced that PA is itself at fault here, but not 100%
 sure.

 From analysing the the log, it seems that things are started up fine:
 http://pulseaudio.org/attachment/ticket/572/pa-syslog.log#L186
 Then the set_sink_volume_cb is called and sets the volume to 2% (this is
 from the module-device-restore that sets the sink volume when it's
 available). This all appears to be correct so far (the value of 2% appears
 to have been stored and subsequently restored - we need to work out why it
 was stored in the first place!).

 So later in the log: http://pulseaudio.org/attachment/ticket/572/pa-
 syslog.log#L374 It seems that gnome-volume-control is changing the volume
 to 2% here. It was already at 2% from what I can tell.

 Then it appears that g-v-c changes the mute status twice and then sets the
 volume to 100%:
 http://pulseaudio.org/attachment/ticket/572/pa-syslog.log#L419 (I presume
 this is now user interaction as it comes 20s later than the previous log
 messages).

 By line 427 (7s later) X is shut down and pulse unloads its X11 modules.

 Now, we can see that by line 444 the 100% volume change is synced to disk
 so all should be well if we just end now... but:

 By line 445 (just one line later) we now read a h/w volume of 17% and then
 one of 2%... No pulse client has set this volume and no debug messages
 from the sink volume set callbacks are printed so I can only guess that
 this is the work of a native alsa mixer literally changing the volume
 behind PA's back. PA recognises this volume change and saves it (line
 449). I am guessing that this change is synced to disk when the db is
 closed (I've not read the tdb documentation but this would make sense).

 Volume changes coming from alsa are considered to be "user input" and are
 thus changed. This was not always the case IIRC, so you probably had this
 behaviour before, but it was masked by PA ignoring this change.

 So to me at least, this looks like something is changing the volume
 without going through the PA protocol, but PA sees the change and saves it
 and thus restores it on next login.

 I'm not sure how to find out what application is accessing alsa (or OSS?)
 directly during logout, but perhaps some script or similar is using e.g.
 aumix or some other utility?

-- 
Ticket URL: <http://pulseaudio.org/ticket/572#comment:12>
PulseAudio <http://pulseaudio.org/>
The PulseAudio Sound Server


More information about the pulseaudio-bugs mailing list