Bug#584605: (no subject)

Dave Witbrodt dawitbro at sbcglobal.net
Mon Jun 28 02:24:11 UTC 2010


When 'audacity' first loads, it tries to grab information about capture
and playback elements for card number 0.  On my system, ALSA finds my
cheap DSP card first, so it becomes card 0:

    $ aplay -l | grep card
    card 0: EMU0404 [E-mu 0404b PCI [MAEM8852]], device 0: emu10k1 [ADC Capture/Standard PCM Playback]
    card 0: EMU0404 [E-mu 0404b PCI [MAEM8852]], device 2: emu10k1 efx [Multichannel Capture/PT Playback]
    card 0: EMU0404 [E-mu 0404b PCI [MAEM8852]], device 3: emu10k1 [Multichannel Playback]
    card 1: SB [HDA ATI SB], device 0: ALC889 Analog [ALC889 Analog]
    card 1: SB [HDA ATI SB], device 1: ALC889 Digital [ALC889 Digital]
    card 2: HDMI [HDA ATI HDMI], device 3: ATI HDMI [ATI HDMI]

The changes from 'audacity' version 1.3.7 to 1.3.8 left portmixer's
open_mixer() function unable to handle the capture elements on that card
-- it's not hard to understand why:

    $ amixer -D hw:0 scontrols
    Simple mixer control 'Master',0
    Simple mixer control 'Tone',0
    Simple mixer control 'Bass',0
    Simple mixer control 'Treble',0
    Simple mixer control 'PCM',0
    Simple mixer control 'PCM Center',0
    Simple mixer control 'PCM Front',0
    Simple mixer control 'PCM LFE',0
    Simple mixer control 'PCM Side',0
    Simple mixer control 'PCM Surround',0
    Simple mixer control 'Front',0
    Simple mixer control 'Surround',0
    Simple mixer control 'Center',0
    Simple mixer control 'LFE',0
    Simple mixer control 'Side',0
    Simple mixer control 'Synth',0
    Simple mixer control 'DSP 0',0
    Simple mixer control 'DSP 1',0
    Simple mixer control 'DSP 10',0
    Simple mixer control 'DSP 11',0
    Simple mixer control 'DSP 12',0
    Simple mixer control 'DSP 13',0
    Simple mixer control 'DSP 14',0
    Simple mixer control 'DSP 15',0
    Simple mixer control 'DSP 2',0
    Simple mixer control 'DSP 3',0
    Simple mixer control 'DSP 4',0
    Simple mixer control 'DSP 5',0
    Simple mixer control 'DSP 6',0
    Simple mixer control 'DSP 7',0
    Simple mixer control 'DSP 8',0
    Simple mixer control 'DSP 9',0
    Simple mixer control 'DSP A',0
    Simple mixer control 'DSP B',0
    Simple mixer control 'DSP C',0
    Simple mixer control 'DSP D',0
    Simple mixer control 'DSP E',0
    Simple mixer control 'DSP F',0
    Simple mixer control 'Line',0
    Simple mixer control 'CD',0
    Simple mixer control 'Mic',0
    Simple mixer control 'IEC958 Optical',0
    Simple mixer control 'IEC958 Optical Raw',0
    Simple mixer control 'Aux',0
    Simple mixer control '0202 DAC Left',0
    Simple mixer control '0202 DAC Right',0
    Simple mixer control '1010 ADAT 0',0
    Simple mixer control '1010 ADAT 1',0
    Simple mixer control '1010 ADAT 2',0
    Simple mixer control '1010 ADAT 3',0
    Simple mixer control '1010 ADAT 4',0
    Simple mixer control '1010 ADAT 5',0
    Simple mixer control '1010 ADAT 6',0
    Simple mixer control '1010 ADAT 7',0
    Simple mixer control '1010 SPDIF Left',0
    Simple mixer control '1010 SPDIF Right',0
    Simple mixer control 'ADC1 14dB PAD 0202',0
    Simple mixer control 'ADC1 14dB PAD Audio Dock',0
    Simple mixer control 'ADC2 14dB PAD Audio Dock',0
    Simple mixer control 'ADC3 14dB PAD Audio Dock',0
    Simple mixer control 'Analog Mix',0
    Simple mixer control 'Clock Internal Rate',0
    Simple mixer control 'DAC1 0202 14dB PAD',0
    Simple mixer control 'DAC1 Audio Dock 14dB PAD',0
    Simple mixer control 'DAC2 Audio Dock 14dB PAD',0
    Simple mixer control 'DAC3 Audio Dock 14dB PAD',0
    Simple mixer control 'DAC4 Audio Dock 14dB PAD',0
    Simple mixer control 'Dock DAC1 Left',0
    Simple mixer control 'Dock DAC1 Right',0
    Simple mixer control 'Dock DAC2 Left',0
    Simple mixer control 'Dock DAC2 Right',0
    Simple mixer control 'Dock DAC3 Left',0
    Simple mixer control 'Dock DAC3 Right',0
    Simple mixer control 'Dock DAC4 Left',0
    Simple mixer control 'Dock DAC4 Right',0
    Simple mixer control 'Dock Phones Left',0
    Simple mixer control 'Dock Phones Right',0
    Simple mixer control 'Dock SPDIF Left',0
    Simple mixer control 'Dock SPDIF Right',0
    Simple mixer control 'EMU',0

The output from the attached test program tells the story:

	    Creating mixer, returning handle...
	    Attaching mixer to hw:0...
	    Registering mixer...
	    Loading mixer elements...
	    Looping through capture elements...
    Found capture element: snd_mixer_selem_get_enum_items() returned -22  (numselems -22 ==> 0)...
    "Master"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned -22  (numselems -44 ==> 0)...
    "Tone"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned -22  (numselems -66 ==> 0)...
    "Bass"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned -22  (numselems -88 ==> 0)...
    "Treble"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned -22  (numselems -110 ==> 0)...
    "PCM"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned -22  (numselems -132 ==> 0)...
    "PCM Center"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned -22  (numselems -154 ==> 0)...
    "PCM Front"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned -22  (numselems -176 ==> 0)...
    "PCM LFE"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned -22  (numselems -198 ==> 0)...
    "PCM Side"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned -22  (numselems -220 ==> 0)...
    "PCM Surround"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned -22  (numselems -242 ==> 0)...
    "Front"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned -22  (numselems -264 ==> 0)...
    "Surround"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned -22  (numselems -286 ==> 0)...
    "Center"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned -22  (numselems -308 ==> 0)...
    "LFE"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned -22  (numselems -330 ==> 0)...
    "Side"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned -22  (numselems -352 ==> 0)...
    "Synth"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned 53  (numselems -299 ==> 53)...
    "DSP 0"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned 53  (numselems -246 ==> 106)...
    "DSP 1"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned 53  (numselems -193 ==> 159)...
    "DSP 10"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned 53  (numselems -140 ==> 212)...
    "DSP 11"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned 53  (numselems -87 ==> 265)...
    "DSP 12"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned 53  (numselems -34 ==> 318)...
    "DSP 13"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned 53  (numselems 19 ==> 371)...
    "DSP 14"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned 53  (numselems 72 ==> 424)...
    "DSP 15"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned 53  (numselems 125 ==> 477)...
    "DSP 2"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned 53  (numselems 178 ==> 530)...
    "DSP 3"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned 53  (numselems 231 ==> 583)...
    "DSP 4"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned 53  (numselems 284 ==> 636)...
    "DSP 5"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned 53  (numselems 337 ==> 689)...
    "DSP 6"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned 53  (numselems 390 ==> 742)...
    "DSP 7"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned 53  (numselems 443 ==> 795)...
    "DSP 8"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned 53  (numselems 496 ==> 848)...
    "DSP 9"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned 53  (numselems 549 ==> 901)...
    "DSP A"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned 53  (numselems 602 ==> 954)...
    "DSP B"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned 53  (numselems 655 ==> 1007)...
    "DSP C"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned 53  (numselems 708 ==> 1060)...
    "DSP D"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned 53  (numselems 761 ==> 1113)...
    "DSP E"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned 53  (numselems 814 ==> 1166)...
    "DSP F"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned -22  (numselems 792 ==> 1166)...
    "Line"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned -22  (numselems 770 ==> 1166)...
    "CD"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned -22  (numselems 748 ==> 1166)...
    "Mic"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned -22  (numselems 726 ==> 1166)...
    "IEC958 Optical"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned -22  (numselems 704 ==> 1166)...
    "IEC958 Optical Raw"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned -22  (numselems 682 ==> 1166)...
    "Aux"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned -22  (numselems 660 ==> 1166)...
    "ADC1 14dB PAD 0202"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned -22  (numselems 638 ==> 1166)...
    "ADC1 14dB PAD Audio Dock"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned -22  (numselems 616 ==> 1166)...
    "ADC2 14dB PAD Audio Dock"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned -22  (numselems 594 ==> 1166)...
    "ADC3 14dB PAD Audio Dock"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned -22  (numselems 572 ==> 1166)...
    "Analog Mix"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned -22  (numselems 550 ==> 1166)...
    "DAC1 0202 14dB PAD"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned -22  (numselems 528 ==> 1166)...
    "DAC1 Audio Dock 14dB PAD"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned -22  (numselems 506 ==> 1166)...
    "DAC2 Audio Dock 14dB PAD"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned -22  (numselems 484 ==> 1166)...
    "DAC3 Audio Dock 14dB PAD"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned -22  (numselems 462 ==> 1166)...
    "DAC4 Audio Dock 14dB PAD"  (index = 0)
    Found capture element: snd_mixer_selem_get_enum_items() returned -22  (numselems 440 ==> 1166)...
    "EMU"  (index = 0)
	    Closing handle to mixer...
	    Successful termination!

I was just tinkering around with this for fun (I'll quit now), but I
thought this might illustrate to upstream what was happening at my end.


Thanks again,
Dave W.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ade-1.0.c
Type: text/x-c
Size: 3073 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-multimedia-maintainers/attachments/20100627/700fc1cc/attachment-0001.bin>


More information about the pkg-multimedia-maintainers mailing list