[mythtv-users] AHH! What happened to my dmix audio??

Jon Boehm boehm100 at comcast.net
Mon Aug 27 00:12:32 UTC 2007


DaveD,

This sounds promising, but I need to narrow down what file your speaking 
about.  I have:

/etc/alsa/alsa-source.conf   last edited 2007-04-28
/etc/asound.conf
/etc/asound.state
~/.asoundrc.asoundconf

I thought asound.state was just the prefs file for alsamixer.  So your 
saying that alsa was corrupted in memory then when it unloads on 
shutdown it saved the bad state to the /etc/asound.state file.  On 
reboot it just loads the bad /etc/asound.state file back?  So no matter 
how many time I delete /etc/asound.state while booting from my current 
OS disk I will not be able to clear the affects of a bad state file.

Please clear up which file your speaking of and if you have a web site 
where you learned this from I would love to see it for more information.

I have hope,
Jon

DaveD wrote:
> Almost forgot - you need to reboot with a rescue disk to delete the 
> asound.state because it gets saved as the sound driver is unloading.  
> You might be able to rmmod it, then delete it.  I have another distro 
> installed and boot under that, delete /etc/alsa/asound.state, then boot 
> back into my main distro.  I just installed Fedora 7 and it happened 
> again so this is, once again, fresh in my mind.  I'll write protect it 
> as soon as I reboot!
> 
> DaveD
> 
> DaveD wrote:
>> Did xine crash?  Is it set up to use passthrough?  These two factors are 
>> what killed my audio before.  It seems xine sets up alsa for its own, 
>> exclusive use and when it crashes there's nothing to put it back.  When 
>> you reboot, the existing (broken) alsa configuration is stored in 
>> /etc/asound.state (or maybe asound.conf, I'm not sure as this hasn't 
>> happened for some time, now) and that same, broken configuration is 
>> restored when alsa restarts.  Took me a long time to figure out the 
>> first time, but I just deleted the asound.state (maybe .conf?) and 
>> rebooted.   Presto!  Sound was back to normal.  After this happened 
>> again, I saved a copy of the asound.conf (state?) and write protected 
>> the working version.  Hope this fixes your problem.
>>
>> DaveD
>>
>> Jon Boehm wrote:
>>   
>>> Hi,
>>>
>>> Everything been working great for quite a while.  I use a spdif
>>> connection between my htpc and my receiver.  I used dmix as my
>>> alsa:default thus passing analog and digital audio thru this connection.
>>>   See the attached asound.conf.
>>>
>>> I was playing with xine tonight and at one point it popped up some
>>> message about not gaining access to the audio channel.  Don't know if
>>> that was the cause of the problem but now my analog audio pass thru to
>>> the spdif connection is GONE!!  The digital audio still works (hdtv and
>>> dvds.)  But no analog source material works (analog tv recording.) Even
>>> the annoying system bell is busted.  Its like my machine it totally
>>> ignoring the asound.conf.
>>>
>>> jboehm at catwomen:~$ /usr/bin/aplay -D default
>>> /usr/share/sounds/alsa/Front_Center.wav
>>> Playing WAVE '/usr/share/sounds/alsa/Front_Center.wav' : Signed 16 bit
>>> Little Endian, Rate 48000 Hz, Mono
>>> But no sound comes out!!!
>>>
>>> jboehm at catwomen:~$ aplay -l
>>> **** List of PLAYBACK Hardware Devices ****
>>> card 0: Intel [HDA Intel], device 0: ALC883 Analog [ALC883 Analog]
>>>    Subdevices: 1/1
>>>    Subdevice #0: subdevice #0
>>> card 0: Intel [HDA Intel], device 1: ALC883 Digital [ALC883 Digital]
>>>    Subdevices: 1/1
>>>    Subdevice #0: subdevice #0
>>>
>>>
>>> jboehm at catwomen:~$ aplay -L
>>> front:CARD=Intel,DEV=0
>>>      HDA Intel, ALC883 Analog
>>>      Front speakers
>>> surround40:CARD=Intel,DEV=0
>>>      HDA Intel, ALC883 Analog
>>>      4.0 Surround output to Front and Rear speakers
>>> surround41:CARD=Intel,DEV=0
>>>      HDA Intel, ALC883 Analog
>>>      4.1 Surround output to Front, Rear and Subwoofer speakers
>>> surround50:CARD=Intel,DEV=0
>>>      HDA Intel, ALC883 Analog
>>>      5.0 Surround output to Front, Center and Rear speakers
>>> surround51:CARD=Intel,DEV=0
>>>      HDA Intel, ALC883 Analog
>>>      5.1 Surround output to Front, Center, Rear and Subwoofer speakers
>>> surround71:CARD=Intel,DEV=0
>>>      HDA Intel, ALC883 Analog
>>>      7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
>>> iec958:CARD=Intel,DEV=0
>>>      HDA Intel, ALC883 Digital
>>>      IEC958 (S/PDIF) Digital Audio Output
>>> null
>>>      Discard all samples (playback) or generate zero samples (capture)
>>>
>>>
>>> That -L output doesn't look right to me.  It used to have pages of
>>> output.  This makes me think something in my alsa configuration got 
>>> hosed.
>>>
>>> Please help ... I'm panicking a little,
>>> Jon
>>>
>>> ------------------------------------------------------------------------
>>>
>>> # ~/.asoundrc or /etc/asound.conf
>>> # ALSA configuration file
>>>
>>> ##### USAGE #####
>>> # Save this file as "~/.asoundrc" (for user-specific sound configuration) or
>>> # "/etc/asound.conf" (for system-wide sound configuration) and specify ALSA
>>> # device names ad described in the next section.
>>>
>>>
>>> ##### DEVICE NAMES #####
>>> # This configuration file defines four devices for use by the user.  Those
>>> # devices are "analog", "mixed-analog", "digital", and "mixed-digital".  The
>>> # user may also re-define "default" to be identical to one of the above-named
>>> # devices (i.e. to send all sound output to the digital output unless otherwise
>>> # specified).  Use the device names as described below:
>>> #  - "analog" outputs to the analog output directly and (at least on software
>>> #  sound cards) blocks other audio output.  After playback completes, "queued"
>>> #  sounds are output in sequence.
>>> #  - "mixed-analog" mixes audio output from multiple programs into the analog
>>> #  output (so you can hear beeps, alerts, and other noises while playing back
>>> #  an audio stream).
>>> #  - "digital" outputs to the digital output directly.  Since most (all?)
>>> #  digital outputs expect 48kHz PCM audio, this may not work for some playback
>>> #  (i.e. CD's--which are 44.1kHz PCM audio--or 32kHz audio streams from TV
>>> #  recordings, etc.).
>>> #  - "mixed-digital"
>>>
>>> # All other devices created within this file are used only by the configuration
>>> # file itself and should /not/ be used directly.  In other words, do not use
>>> # the devices "analog-hw", "dmix-analog", "digital-hw", or "dmix-digital".
>>>
>>>
>>> ##### IMPORTANT #####
>>> # To make this ALSA configuration file work with your sound card, you will need
>>> # to define the appropriate card and device information for the "analog-hw" and
>>> # "digital-hw" devices below.  You can find the card and device information
>>> # using "aplay -l".
>>>
>>>
>>> ##### Configuration File #####
>>>
>>> # Override the default output used by ALSA.  If you do not override the
>>> # default, your default device is identical to the (unmixed) "analog" device
>>> # shown below.  If you prefer mixed and/or digital output, uncomment the
>>> # appropriate four lines below (only one slave.pcm line).
>>> #
>>> # Note, also, that as of ALSA 1.0.9, "software" sound cards have been modified
>>> # such that their default "default" device is identical to the "mixed-analog"
>>> # device.  Whether using an ALSA version before or after 1.0.9, it does no harm
>>> # and has no affect on performance to redefine the device (even if the
>>> # redefinition does not change anything).  Also, by using this ALSA
>>> # configuration file, you once again have access to unmixed analog output using
>>> # the "analog" device.
>>> pcm.!default {
>>>   type plug
>>> ## Uncomment the following to use (unmixed) "analog" by default
>>> #  slave.pcm "analog-hw"
>>> ## Uncomment the following to use "mixed-analog" by default
>>> #  slave.pcm "dmix-analog"
>>> ## Uncomment the following to use (unmixed) "digital" by default
>>> #  slave.pcm "digital-hw"
>>> ## Uncomment the following to use "mixed-digital" by default
>>>   slave.pcm "dmix-digital"
>>> }
>>>
>>> pcm.rc {
>>>   type plug
>>>   slave.pcm "rate-changer"
>>> }
>>>
>>> pcm.rate-changer {
>>>         type plug
>>>         slave {
>>> #                period_time 0
>>> #                period_size 1024
>>> #                buffer_size 4096
>>>                 rate 48000
>>>                 pcm "spdif"
>>>         }
>>> }
>>>
>>> # Control device (mixer, etc.) for the card
>>> ctl.!default {
>>>   type hw
>>>   card 0
>>> }
>>>
>>> # Alias for (converted) analog output on the card
>>> # - This is identical to the device named "default"--which always exists and
>>> # refers to hw:0,0 (unless overridden)
>>> # - Therefore, we can specify "hw:0,0", "default", or "analog" to access analog
>>> # output on the card
>>> # - Note that as of ALSA 1.0.9, "software" sound card definitions redefine
>>> # "default" to do mixing, meaning this device is different from "default" and
>>> # allows playback while blocking other sound sources (until playback
>>> # completes).
>>> pcm.analog {
>>>   type plug
>>>   slave.pcm "analog-hw"
>>> }
>>>
>>> # Control device (mixer, etc.) for the card
>>> ctl.analog {
>>>   type hw
>>>   card 0
>>> }
>>>
>>> # Alias for (converted) mixed analog output on the card
>>> # - This will accept audio input--regardless of rate--and convert to the rate
>>> # required for the dmix plugin (in this case 48000Hz)
>>> # - Note that as of ALSA 1.0.9, "software" sound card definitions redefine
>>> # "default" to do mixing, meaning this device is identical to "default" for
>>> # "software" sound cards.
>>> pcm.mixed-analog {
>>>   type plug
>>>   slave.pcm "dmix-analog"
>>> }
>>>
>>> # Control device (mixer, etc.) for the card
>>> ctl.mixed-analog {
>>>   type hw
>>>   card 0
>>> }
>>>
>>> # Alias for (converted) digital (S/PDIF) output on the card
>>> # - This will accept audio input--regardless of rate--and convert to the rate
>>> # required for the S/PDIF hardware (in this case 48000Hz)
>>> pcm.digital {
>>>   type plug
>>>   slave.pcm "digital-hw"
>>> }
>>>
>>> # Control device (mixer, etc.) for the card
>>> ctl.digital {
>>>   type hw
>>>   card 0
>>> }
>>>
>>> # Alias for mixed (converted) digital (S/PDIF) output on the card
>>> #  - This will accept audio input--regardless of rate--and convert to the rate
>>> #  required for the S/PDIF hardware (in this case 48000Hz)
>>> pcm.mixed-digital {
>>>   type plug
>>>   slave.pcm "dmix-digital"
>>> }
>>>
>>> # Control device (mixer, etc.) for the card
>>> ctl.mixed-digital {
>>>   type hw
>>>   card 0
>>> }
>>>
>>> # The following devices are not useful by themselves.  They require specific
>>> # rates, channels, and formats.  Therefore, you probably do not want to use
>>> # them directly.  Instead use of of the devices defined above.
>>>
>>> # Alias for analog output on the card
>>> # Do not use this directly--it requires specific rate, channels, and format
>>> pcm.analog-hw {
>>>   type hw
>>>   card 0
>>>   # The default value for device is 0, so no need to specify
>>> #  - Uncomment one of the below or create a new "device N" line as appropriate
>>> #    for your sound card or 
>>> #  device 1
>>> #  device 4
>>> }
>>>
>>> # Control device (mixer, etc.) for the card
>>> ctl.analog-hw {
>>>   type hw
>>>   card 0
>>> }
>>>
>>> # Alias for digital (S/PDIF) output on the card
>>> # Do not use this directly--it requires specific rate, channels, and format
>>> pcm.digital-hw {
>>>   type hw
>>>   card 0
>>>   device 1
>>> #  - Comment out "device 1" above and uncomment one of the below or create a
>>> #    new "device N" line as appropriate for your sound card or 
>>> #  device 2
>>> #  device 4
>>> }
>>>
>>> # Control device (mixer, etc.) for the card
>>> ctl.digital-hw {
>>>   type hw
>>>   card 0
>>> }
>>>
>>> # Direct software mixing plugin for analog output on the card
>>> # Do not use this directly--it requires specific rate, channels, and format
>>> pcm.dmix-analog {
>>>   type dmix
>>>   ipc_key 1234
>>>   slave {
>>>     pcm "analog-hw"
>>>     period_time 0
>>>     period_size 1024
>>>     buffer_size 4096
>>>     rate 48000
>>>   } 
>>> }
>>>
>>> # Control device (mixer, etc.) for the card
>>> ctl.dmix-analog {
>>>   type hw
>>>   card 0
>>> }
>>>
>>> # Direct software mixing plugin for digital (S/PDIF) output on the card
>>> # Do not use this directly--it requires specific rate, channels, and format
>>> pcm.dmix-digital {
>>>   type dmix
>>>   ipc_key 1235
>>>   slave {
>>>     pcm "digital-hw"
>>>     period_time 0
>>>     period_size 1024
>>>     buffer_size 4096
>>>     rate 48000
>>>   } 
>>> }
>>>
>>> # Control device (mixer, etc.) for the card
>>> ctl.dmix-digital {
>>>   type hw
>>>   card 0
>>> }
>>>
>>>   
>>> ------------------------------------------------------------------------
>>>
>>> _______________________________________________
>>> mythtv-users mailing list
>>> mythtv-users at mythtv.org
>>> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-users
>>>   
>>>     
>> _______________________________________________
>> mythtv-users mailing list
>> mythtv-users at mythtv.org
>> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-users
>>
>>   
> _______________________________________________
> mythtv-users mailing list
> mythtv-users at mythtv.org
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-users
> 


More information about the mythtv-users mailing list