Kein Hardwaremixing: Workarount gesuchd

Dieses Thema im Forum "Sound" wurde erstellt von pyropeter, 18.12.2009.

  1. #1 pyropeter, 18.12.2009
    Zuletzt bearbeitet: 18.12.2009
    pyropeter

    pyropeter ..geht mit foo in die bar

    Dabei seit:
    31.08.2008
    Beiträge:
    91
    Zustimmungen:
    0
    Guten Morgen,


    Der S/P-DIF Ausgang meiner Soundkarte beherscht kein Hardwaremixing (natürlich nicht).
    Dies scheint immer wieder Programme vor Probleme zu stellen, die versuchen, per ALSA auf hw-Devices zuzugreifen.

    Die Symptome sind dann oft wie folgt:

    1. Phonon startet/VLC startet/Irgendwas anderes startet.
    2. Der Ton (S/P-DIF) verstummt.
    3. Ich lade snd_hda_intel neu.
    4. Ton funktioniert wieder.

    Systemangaben:
    Code:
    <*//>< # arch linux
    
    
    <*//>< uname -a
    Linux eddie 2.6.32-ARCH #7 SMP PREEMPT Fri Dec 4 15:39:16 CET 2009 x86_64 Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz GenuineIntel GNU/Linux
    
    
    <*//>< lspci | grep -i Audio
    00:1b.0 Audio device: Intel Corporation 82801JI (ICH10 Family) HD Audio Controller
    07:00.1 Audio device: ATI Technologies Inc R700 Audio Device [Radeon HD 4000 Series]
    
    
    <*//>< lspci -vv -s 00:1b.0
    00:1b.0 Audio device: Intel Corporation 82801JI (ICH10 Family) HD Audio Controller
    	Subsystem: ASRock Incorporation Device 0888
    	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    	Latency: 0, Cache Line Size: 32 bytes
    	Interrupt: pin A routed to IRQ 22
    	Region 0: Memory at fe9f8000 (64-bit, non-prefetchable) [size=16K]
    	Capabilities: <access denied>
    	Kernel driver in use: HDA Intel
    	Kernel modules: snd-hda-intel
    
    
    
    <*//>< modinfo snd_hda_intel
    filename:       /lib/modules/2.6.32-ARCH/kernel/sound/pci/hda/snd-hda-intel.ko
    description:    Intel HDA driver
    license:        GPL
    alias:          pci:v00001022d*sv*sd*bc04sc03i00*
    alias:          pci:v00001002d*sv*sd*bc04sc03i00*
    alias:          pci:v00001102d00000009sv*sd*bc*sc*i*
    alias:          pci:v00006549d00001200sv*sd*bc*sc*i*
    alias:          pci:v000010DEd00000D97sv*sd*bc*sc*i*
    alias:          pci:v000010DEd00000D96sv*sd*bc*sc*i*
    alias:          pci:v000010DEd00000D95sv*sd*bc*sc*i*
    alias:          pci:v000010DEd00000D94sv*sd*bc*sc*i*
    alias:          pci:v000010DEd00000AC3sv*sd*bc*sc*i*
    alias:          pci:v000010DEd00000AC2sv*sd*bc*sc*i*
    alias:          pci:v000010DEd00000AC1sv*sd*bc*sc*i*
    alias:          pci:v000010DEd00000AC0sv*sd*bc*sc*i*
    alias:          pci:v000010DEd000007FDsv*sd*bc*sc*i*
    alias:          pci:v000010DEd000007FCsv*sd*bc*sc*i*
    alias:          pci:v000010DEd00000777sv*sd*bc*sc*i*
    alias:          pci:v000010DEd00000776sv*sd*bc*sc*i*
    alias:          pci:v000010DEd00000775sv*sd*bc*sc*i*
    alias:          pci:v000010DEd00000774sv*sd*bc*sc*i*
    alias:          pci:v000010DEd00000590sv*sd*bc*sc*i*
    alias:          pci:v000010DEd0000055Dsv*sd*bc*sc*i*
    alias:          pci:v000010DEd0000055Csv*sd*bc*sc*i*
    alias:          pci:v000010DEd0000044Bsv*sd*bc*sc*i*
    alias:          pci:v000010DEd0000044Asv*sd*bc*sc*i*
    alias:          pci:v000010DEd000003F0sv*sd*bc*sc*i*
    alias:          pci:v000010DEd000003E4sv*sd*bc*sc*i*
    alias:          pci:v000010DEd00000371sv*sd*bc*sc*i*
    alias:          pci:v000010DEd0000026Csv*sd*bc*sc*i*
    alias:          pci:v000010B9d00005461sv*sd*bc*sc*i*
    alias:          pci:v00001039d00007502sv*sd*bc*sc*i*
    alias:          pci:v00001106d00003288sv*sd*bc*sc*i*
    alias:          pci:v00001002d0000AA48sv*sd*bc*sc*i*
    alias:          pci:v00001002d0000AA40sv*sd*bc*sc*i*
    alias:          pci:v00001002d0000AA38sv*sd*bc*sc*i*
    alias:          pci:v00001002d0000AA30sv*sd*bc*sc*i*
    alias:          pci:v00001002d0000AA28sv*sd*bc*sc*i*
    alias:          pci:v00001002d0000AA20sv*sd*bc*sc*i*
    alias:          pci:v00001002d0000AA18sv*sd*bc*sc*i*
    alias:          pci:v00001002d0000AA10sv*sd*bc*sc*i*
    alias:          pci:v00001002d0000AA08sv*sd*bc*sc*i*
    alias:          pci:v00001002d0000AA00sv*sd*bc*sc*i*
    alias:          pci:v00001002d0000970Fsv*sd*bc*sc*i*
    alias:          pci:v00001002d0000960Fsv*sd*bc*sc*i*
    alias:          pci:v00001002d00007919sv*sd*bc*sc*i*
    alias:          pci:v00001002d0000793Bsv*sd*bc*sc*i*
    alias:          pci:v00001002d00004383sv*sd*bc*sc*i*
    alias:          pci:v00001002d0000437Bsv*sd*bc*sc*i*
    alias:          pci:v00008086d0000811Bsv*sd*bc*sc*i*
    alias:          pci:v00008086d00003B56sv*sd*bc*sc*i*
    alias:          pci:v00008086d00003A6Esv*sd*bc*sc*i*
    alias:          pci:v00008086d00003A3Esv*sd*bc*sc*i*
    alias:          pci:v00008086d0000293Fsv*sd*bc*sc*i*
    alias:          pci:v00008086d0000293Esv*sd*bc*sc*i*
    alias:          pci:v00008086d00002911sv*sd*bc*sc*i*
    alias:          pci:v00008086d0000284Bsv*sd*bc*sc*i*
    alias:          pci:v00008086d0000269Asv*sd*bc*sc*i*
    alias:          pci:v00008086d000027D8sv*sd*bc*sc*i*
    alias:          pci:v00008086d00002668sv*sd*bc*sc*i*
    depends:        snd-pcm,snd,snd-page-alloc,snd-hda-codec
    vermagic:       2.6.32-ARCH SMP preempt mod_unload 
    parm:           index:Index value for Intel HD audio interface. (array of int)
    parm:           id:ID string for Intel HD audio interface. (array of charp)
    parm:           enable:Enable Intel HD audio interface. (array of bool)
    parm:           model:Use the given board model. (array of charp)
    parm:           position_fix:Fix DMA pointer (0 = auto, 1 = none, 2 = POSBUF). (array of int)
    parm:           bdl_pos_adj:BDL position adjustment offset. (array of int)
    parm:           probe_mask:Bitmask to probe codecs (default = -1). (array of int)
    parm:           probe_only:Only probing and no codec initialization. (array of bool)
    parm:           single_cmd:Use single command to communicate with codecs (for debugging only). (bool)
    parm:           enable_msi:Enable Message Signaled Interrupt (MSI) (int)
    parm:           patch:Patch file for Intel HD audio interface. (array of charp)
    parm:           power_save:Automatic power-saving timeout (in second, 0 = disable). (int)
    parm:           power_save_controller:Reset controller in power save mode. (bool)
    
    
    <*//>< dmesg | egrep -i "HDA|Intel|00:1b.0|sound"
      Intel GenuineIntel
    Performance Events: Core2 events, Intel PMU driver.
    CPU0: Intel(R) Core(TM)2 Duo CPU     E8400  @ 3.00GHz stepping 0a
    CPU1: Intel(R) Core(TM)2 Duo CPU     E8400  @ 3.00GHz stepping 0a
    pci 0000:00:1b.0: reg 10 64bit mmio: [0xfe9f8000-0xfe9fbfff]
    pci 0000:00:1b.0: PME# supported from D0 D3hot D3cold
    pci 0000:00:1b.0: PME# disabled
    iTCO_wdt: Intel TCO WatchDog Timer Driver v1.05
    HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
    HDA Intel 0000:00:1b.0: setting latency timer to 64
    hda_codec: ALC888: BIOS auto-probing.
    input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input6
    HDA Intel 0000:07:00.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
    HDA Intel 0000:07:00.1: setting latency timer to 64
    hda-intel: IRQ timing workaround is activated for card #0. Suggest a bigger bdl_pos_adj.
    HDA Intel 0000:07:00.1: PCI INT B disabled
    HDA Intel 0000:00:1b.0: PCI INT A disabled
    HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
    HDA Intel 0000:00:1b.0: setting latency timer to 64
    hda_codec: ALC888: BIOS auto-probing.
    input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input7
    HDA Intel 0000:07:00.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
    HDA Intel 0000:07:00.1: setting latency timer to 64
    hda-intel: azx_get_response timeout, switching to polling mode: last cmd=0x002f0d00
    HDA Intel 0000:07:00.1: PCI INT B disabled
    HDA Intel 0000:00:1b.0: PCI INT A disabled
    HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
    HDA Intel 0000:00:1b.0: setting latency timer to 64
    hda_codec: ALC888: BIOS auto-probing.
    input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input8
    HDA Intel 0000:07:00.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
    HDA Intel 0000:07:00.1: setting latency timer to 64
    HDA Intel 0000:07:00.1: PCI INT B disabled
    HDA Intel 0000:00:1b.0: PCI INT A disabled
    HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
    HDA Intel 0000:00:1b.0: setting latency timer to 64
    hda_codec: ALC888: BIOS auto-probing.
    input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input9
    HDA Intel 0000:07:00.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
    HDA Intel 0000:07:00.1: setting latency timer to 64
    HDA Intel 0000:07:00.1: PCI INT B disabled
    HDA Intel 0000:00:1b.0: PCI INT A disabled
    HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
    HDA Intel 0000:00:1b.0: setting latency timer to 64
    hda_codec: ALC888: BIOS auto-probing.
    input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input10
    HDA Intel 0000:07:00.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
    HDA Intel 0000:07:00.1: setting latency timer to 64
    HDA Intel 0000:07:00.1: PCI INT B disabled
    HDA Intel 0000:00:1b.0: PCI INT A disabled
    HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
    HDA Intel 0000:00:1b.0: setting latency timer to 64
    hda_codec: ALC888: BIOS auto-probing.
    input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input11
    HDA Intel 0000:07:00.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
    HDA Intel 0000:07:00.1: setting latency timer to 64
    HDA Intel 0000:07:00.1: PCI INT B disabled
    HDA Intel 0000:00:1b.0: PCI INT A disabled
    HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
    HDA Intel 0000:00:1b.0: setting latency timer to 64
    hda_codec: ALC888: BIOS auto-probing.
    input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input12
    HDA Intel 0000:07:00.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
    HDA Intel 0000:07:00.1: setting latency timer to 64
    HDA Intel 0000:07:00.1: PCI INT B disabled
    HDA Intel 0000:00:1b.0: PCI INT A disabled
    HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
    HDA Intel 0000:00:1b.0: setting latency timer to 64
    hda_codec: ALC888: BIOS auto-probing.
    input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input13
    HDA Intel 0000:07:00.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
    HDA Intel 0000:07:00.1: setting latency timer to 64
    Modules linked in: snd_hda_intel ntfs bluetooth rfkill fuse nls_cp437 vfat fat ipv6 snd_hda_codec_atihdmi snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss snd_hda_codec_realtek fan battery ac tda827x snd_hda_codec radeon snd_hwdep tda1004x snd_pcm snd_timer dvb_usb_m920x ttm snd dvb_usb drm_kms_helper dvb_core drm i2c_algo_bit soundcore snd_page_alloc psmouse i2c_i801 serio_raw pcspkr irtty_sir r8169 usbhid intel_agp button processor thermal iTCO_wdt evdev sg mii sir_dev i2c_core hid irda crc_ccitt iTCO_vendor_support rtc_cmos rtc_core rtc_lib ext3 jbd mbcache sr_mod cdrom sd_mod usb_storage uhci_hcd floppy ahci libata scsi_mod ehci_hcd usbcore [last unloaded: snd_hda_intel]
    Modules linked in: snd_hda_intel ntfs bluetooth rfkill fuse nls_cp437 vfat fat ipv6 snd_hda_codec_atihdmi snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss snd_hda_codec_realtek fan battery ac tda827x snd_hda_codec radeon snd_hwdep tda1004x snd_pcm snd_timer dvb_usb_m920x ttm snd dvb_usb drm_kms_helper dvb_core drm i2c_algo_bit soundcore snd_page_alloc psmouse i2c_i801 serio_raw pcspkr irtty_sir r8169 usbhid intel_agp button processor thermal iTCO_wdt evdev sg mii sir_dev i2c_core hid irda crc_ccitt iTCO_vendor_support rtc_cmos rtc_core rtc_lib ext3 jbd mbcache sr_mod cdrom sd_mod usb_storage uhci_hcd floppy ahci libata scsi_mod ehci_hcd usbcore [last unloaded: snd_hda_intel]
    HDA Intel 0000:07:00.1: PCI INT B disabled
    HDA Intel 0000:00:1b.0: PCI INT A disabled
    HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
    HDA Intel 0000:00:1b.0: setting latency timer to 64
    hda_codec: ALC888: BIOS auto-probing.
    input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input14
    HDA Intel 0000:07:00.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
    HDA Intel 0000:07:00.1: setting latency timer to 64
    HDA Intel 0000:07:00.1: PCI INT B disabled
    HDA Intel 0000:00:1b.0: PCI INT A disabled
    HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
    HDA Intel 0000:00:1b.0: setting latency timer to 64
    hda_codec: ALC888: BIOS auto-probing.
    input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input15
    HDA Intel 0000:07:00.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
    HDA Intel 0000:07:00.1: setting latency timer to 64
    HDA Intel 0000:07:00.1: PCI INT B disabled
    HDA Intel 0000:00:1b.0: PCI INT A disabled
    HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
    HDA Intel 0000:00:1b.0: setting latency timer to 64
    hda_codec: ALC888: BIOS auto-probing.
    input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input16
    HDA Intel 0000:07:00.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
    HDA Intel 0000:07:00.1: setting latency timer to 64
    HDA Intel 0000:07:00.1: PCI INT B disabled
    HDA Intel 0000:00:1b.0: PCI INT A disabled
    HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
    HDA Intel 0000:00:1b.0: setting latency timer to 64
    hda_codec: ALC888: BIOS auto-probing.
    input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input17
    HDA Intel 0000:07:00.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
    HDA Intel 0000:07:00.1: setting latency timer to 64
    HDA Intel 0000:07:00.1: PCI INT B disabled
    HDA Intel 0000:00:1b.0: PCI INT A disabled
    HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
    HDA Intel 0000:00:1b.0: setting latency timer to 64
    hda_codec: ALC888: BIOS auto-probing.
    input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input18
    HDA Intel 0000:07:00.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
    HDA Intel 0000:07:00.1: setting latency timer to 64
    HDA Intel 0000:07:00.1: PCI INT B disabled
    HDA Intel 0000:00:1b.0: PCI INT A disabled
    HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
    HDA Intel 0000:00:1b.0: setting latency timer to 64
    hda_codec: ALC888: BIOS auto-probing.
    input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input19
    HDA Intel 0000:07:00.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
    HDA Intel 0000:07:00.1: setting latency timer to 64
    HDA Intel 0000:07:00.1: PCI INT B disabled
    HDA Intel 0000:00:1b.0: PCI INT A disabled
    HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
    HDA Intel 0000:00:1b.0: setting latency timer to 64
    hda_codec: ALC888: BIOS auto-probing.
    input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input20
    HDA Intel 0000:07:00.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
    HDA Intel 0000:07:00.1: setting latency timer to 64
    hda-intel: IRQ timing workaround is activated for card #0. Suggest a bigger bdl_pos_adj.
    
    
    <*//>< cat /etc/modprobe.d/sound.conf 
    alias snd-card-0 snd-hda-intel
    alias sound-slot-0 snd-hda-intel
    
    
    <*//>< aplay -L
    default:CARD=Intel
        HDA Intel, ALC888 Analog
        Default Audio Device
    front:CARD=Intel,DEV=0
        HDA Intel, ALC888 Analog
        Front speakers
    surround40:CARD=Intel,DEV=0
        HDA Intel, ALC888 Analog
        4.0 Surround output to Front and Rear speakers
    surround41:CARD=Intel,DEV=0
        HDA Intel, ALC888 Analog
        4.1 Surround output to Front, Rear and Subwoofer speakers
    surround50:CARD=Intel,DEV=0
        HDA Intel, ALC888 Analog
        5.0 Surround output to Front, Center and Rear speakers
    surround51:CARD=Intel,DEV=0
        HDA Intel, ALC888 Analog
        5.1 Surround output to Front, Center, Rear and Subwoofer speakers
    surround71:CARD=Intel,DEV=0
        HDA Intel, ALC888 Analog
        7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
    iec958:CARD=Intel,DEV=0
        HDA Intel, ALC888 Digital
        IEC958 (S/PDIF) Digital Audio Output
    null
        Discard all samples (playback) or generate zero samples (capture)
    phononbar
        phonon workaround V
    hdmi:CARD=HDMI
        HDA ATI HDMI, ATI HDMI
        HDMI Audio Output
    
    
    <*//>< cat /etc/asound.conf 
    pcm.phononbar {
        type iec958             # IEC958 subframe conversion PCM
        slave {                 # Slave definition
            pcm "iec958:CARD=Intel,DEV=0"
            #period_time 0
            #period_size 1024
            #buffer_size 8192
            #rate 44100 #many new cards are 48000 only
            format "S16_LE"
        }
        hint {
            show on
            description "phonon workaround V"
        }
    }
    
    
    <*//>< cat /etc/asound.state 
    state.Intel {
    	control.1 {
    		comment.access 'read write'
    		comment.type INTEGER
    		comment.count 2
    		comment.range '0 - 31'
    		comment.dbmin -4650
    		comment.dbmax 0
    		iface MIXER
    		name 'Front Playback Volume'
    		value.0 0
    		value.1 0
    	}
    	control.2 {
    		comment.access 'read write'
    		comment.type BOOLEAN
    		comment.count 2
    		iface MIXER
    		name 'Front Playback Switch'
    		value.0 true
    		value.1 true
    	}
    	control.3 {
    		comment.access 'read write'
    		comment.type INTEGER
    		comment.count 2
    		comment.range '0 - 31'
    		comment.dbmin -4650
    		comment.dbmax 0
    		iface MIXER
    		name 'Surround Playback Volume'
    		value.0 0
    		value.1 0
    	}
    	control.4 {
    		comment.access 'read write'
    		comment.type BOOLEAN
    		comment.count 2
    		iface MIXER
    		name 'Surround Playback Switch'
    		value.0 true
    		value.1 true
    	}
    	control.5 {
    		comment.access 'read write'
    		comment.type INTEGER
    		comment.count 1
    		comment.range '0 - 31'
    		comment.dbmin -4650
    		comment.dbmax 0
    		iface MIXER
    		name 'Center Playback Volume'
    		value 0
    	}
    	control.6 {
    		comment.access 'read write'
    		comment.type INTEGER
    		comment.count 1
    		comment.range '0 - 31'
    		comment.dbmin -4650
    		comment.dbmax 0
    		iface MIXER
    		name 'LFE Playback Volume'
    		value 0
    	}
    	control.7 {
    		comment.access 'read write'
    		comment.type BOOLEAN
    		comment.count 1
    		iface MIXER
    		name 'Center Playback Switch'
    		value true
    	}
    	control.8 {
    		comment.access 'read write'
    		comment.type BOOLEAN
    		comment.count 1
    		iface MIXER
    		name 'LFE Playback Switch'
    		value true
    	}
    	control.9 {
    		comment.access 'read write'
    		comment.type INTEGER
    		comment.count 2
    		comment.range '0 - 31'
    		comment.dbmin -4650
    		comment.dbmax 0
    		iface MIXER
    		name 'Side Playback Volume'
    		value.0 0
    		value.1 0
    	}
    	control.10 {
    		comment.access 'read write'
    		comment.type BOOLEAN
    		comment.count 2
    		iface MIXER
    		name 'Side Playback Switch'
    		value.0 true
    		value.1 true
    	}
    	control.11 {
    		comment.access 'read write'
    		comment.type BOOLEAN
    		comment.count 2
    		iface MIXER
    		name 'Headphone Playback Switch'
    		value.0 true
    		value.1 true
    	}
    	control.12 {
    		comment.access 'read write'
    		comment.type INTEGER
    		comment.count 2
    		comment.range '0 - 31'
    		comment.dbmin -3450
    		comment.dbmax 1200
    		iface MIXER
    		name 'Mic Playback Volume'
    		value.0 0
    		value.1 0
    	}
    	control.13 {
    		comment.access 'read write'
    		comment.type BOOLEAN
    		comment.count 2
    		iface MIXER
    		name 'Mic Playback Switch'
    		value.0 false
    		value.1 false
    	}
    	control.14 {
    		comment.access 'read write'
    		comment.type INTEGER
    		comment.count 2
    		comment.range '0 - 31'
    		comment.dbmin -3450
    		comment.dbmax 1200
    		iface MIXER
    		name 'Front Mic Playback Volume'
    		value.0 0
    		value.1 0
    	}
    	control.15 {
    		comment.access 'read write'
    		comment.type BOOLEAN
    		comment.count 2
    		iface MIXER
    		name 'Front Mic Playback Switch'
    		value.0 false
    		value.1 false
    	}
    	control.16 {
    		comment.access 'read write'
    		comment.type INTEGER
    		comment.count 2
    		comment.range '0 - 31'
    		comment.dbmin -3450
    		comment.dbmax 1200
    		iface MIXER
    		name 'Line Playback Volume'
    		value.0 0
    		value.1 0
    	}
    	control.17 {
    		comment.access 'read write'
    		comment.type BOOLEAN
    		comment.count 2
    		iface MIXER
    		name 'Line Playback Switch'
    		value.0 false
    		value.1 false
    	}
    	control.18 {
    		comment.access 'read write'
    		comment.type INTEGER
    		comment.count 2
    		comment.range '0 - 31'
    		comment.dbmin -3450
    		comment.dbmax 1200
    		iface MIXER
    		name 'CD Playback Volume'
    		value.0 0
    		value.1 0
    	}
    	control.19 {
    		comment.access 'read write'
    		comment.type BOOLEAN
    		comment.count 2
    		iface MIXER
    		name 'CD Playback Switch'
    		value.0 false
    		value.1 false
    	}
    	control.20 {
    		comment.access 'read write'
    		comment.type INTEGER
    		comment.count 2
    		comment.range '0 - 3'
    		comment.dbmin 0
    		comment.dbmax 3000
    		iface MIXER
    		name 'Mic Boost'
    		value.0 0
    		value.1 0
    	}
    	control.21 {
    		comment.access 'read write'
    		comment.type INTEGER
    		comment.count 2
    		comment.range '0 - 3'
    		comment.dbmin 0
    		comment.dbmax 3000
    		iface MIXER
    		name 'Front Mic Boost'
    		value.0 0
    		value.1 0
    	}
    	control.22 {
    		comment.access 'read write'
    		comment.type BOOLEAN
    		comment.count 2
    		iface MIXER
    		name 'Capture Switch'
    		value.0 true
    		value.1 true
    	}
    	control.23 {
    		comment.access 'read write'
    		comment.type BOOLEAN
    		comment.count 2
    		iface MIXER
    		name 'Capture Switch'
    		index 1
    		value.0 true
    		value.1 true
    	}
    	control.24 {
    		comment.access 'read write'
    		comment.type INTEGER
    		comment.count 2
    		comment.range '0 - 31'
    		comment.dbmin -1650
    		comment.dbmax 3000
    		iface MIXER
    		name 'Capture Volume'
    		value.0 0
    		value.1 0
    	}
    	control.25 {
    		comment.access 'read write'
    		comment.type INTEGER
    		comment.count 2
    		comment.range '0 - 31'
    		comment.dbmin -1650
    		comment.dbmax 3000
    		iface MIXER
    		name 'Capture Volume'
    		index 1
    		value.0 0
    		value.1 0
    	}
    	control.26 {
    		comment.access 'read write'
    		comment.type ENUMERATED
    		comment.count 1
    		comment.item.0 Mic
    		comment.item.1 'Front Mic'
    		comment.item.2 Line
    		comment.item.3 CD
    		iface MIXER
    		name 'Input Source'
    		value Mic
    	}
    	control.27 {
    		comment.access 'read write'
    		comment.type ENUMERATED
    		comment.count 1
    		comment.item.0 Mic
    		comment.item.1 'Front Mic'
    		comment.item.2 Line
    		comment.item.3 CD
    		iface MIXER
    		name 'Input Source'
    		index 1
    		value Mic
    	}
    	control.28 {
    		comment.access read
    		comment.type IEC958
    		comment.count 1
    		iface MIXER
    		name 'IEC958 Playback Con Mask'
    		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
    	}
    	control.29 {
    		comment.access read
    		comment.type IEC958
    		comment.count 1
    		iface MIXER
    		name 'IEC958 Playback Pro Mask'
    		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
    	}
    	control.30 {
    		comment.access 'read write'
    		comment.type IEC958
    		comment.count 1
    		iface MIXER
    		name 'IEC958 Playback Default'
    		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
    	}
    	control.31 {
    		comment.access 'read write'
    		comment.type BOOLEAN
    		comment.count 1
    		iface MIXER
    		name 'IEC958 Playback Switch'
    		value true
    	}
    	control.32 {
    		comment.access 'read write'
    		comment.type BOOLEAN
    		comment.count 1
    		iface MIXER
    		name 'IEC958 Default PCM Playback Switch'
    		value true
    	}
    	control.33 {
    		comment.access 'read write'
    		comment.type INTEGER
    		comment.count 2
    		comment.range '0 - 31'
    		comment.dbmin -3450
    		comment.dbmax 1200
    		iface MIXER
    		name 'Beep Playback Volume'
    		value.0 0
    		value.1 0
    	}
    	control.34 {
    		comment.access 'read write'
    		comment.type BOOLEAN
    		comment.count 2
    		iface MIXER
    		name 'Beep Playback Switch'
    		value.0 false
    		value.1 false
    	}
    	control.35 {
    		comment.access 'read write'
    		comment.type INTEGER
    		comment.count 1
    		comment.range '0 - 31'
    		comment.dbmin -4650
    		comment.dbmax 0
    		iface MIXER
    		name 'Master Playback Volume'
    		value 31
    	}
    	control.36 {
    		comment.access 'read write'
    		comment.type BOOLEAN
    		comment.count 1
    		iface MIXER
    		name 'Master Playback Switch'
    		value true
    	}
    	control.37 {
    		comment.access 'read write user'
    		comment.type INTEGER
    		comment.count 2
    		comment.range '0 - 255'
    		comment.tlv '0000000100000008ffffec1400000014'
    		comment.dbmin -5100
    		comment.dbmax 0
    		iface MIXER
    		name 'PCM Playback Volume'
    		value.0 255
    		value.1 255
    	}
    	control.38 {
    		comment.access 'read write user'
    		comment.type INTEGER
    		comment.count 2
    		comment.range '0 - 99'
    		comment.tlv '0000000100000008ffffec1400000033'
    		comment.dbmin -5100
    		comment.dbmax -51
    		iface MIXER
    		name Phonon
    		value.0 99
    		value.1 99
    	}
    	control.39 {
    		comment.access 'read write user'
    		comment.type INTEGER
    		comment.count 2
    		comment.range '0 - 120'
    		comment.tlv '0000000100000008fffff44800000032'
    		comment.dbmin -3000
    		comment.dbmax 3000
    		iface MIXER
    		name 'Digital Capture Volume'
    		value.0 60
    		value.1 60
    	}
    }
    state.HDMI {
    	control.1 {
    		comment.access read
    		comment.type IEC958
    		comment.count 1
    		iface MIXER
    		name 'IEC958 Playback Con Mask'
    		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
    	}
    	control.2 {
    		comment.access read
    		comment.type IEC958
    		comment.count 1
    		iface MIXER
    		name 'IEC958 Playback Pro Mask'
    		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
    	}
    	control.3 {
    		comment.access 'read write'
    		comment.type IEC958
    		comment.count 1
    		iface MIXER
    		name 'IEC958 Playback Default'
    		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
    	}
    	control.4 {
    		comment.access 'read write'
    		comment.type BOOLEAN
    		comment.count 1
    		iface MIXER
    		name 'IEC958 Playback Switch'
    		value false
    	}
    }
    
    (Ich hoffe, Ich habe keine wichtige Information vergessen.)

    Was ich jetzt bräuchte, wäre ein ALSA-Setup, das als default-Device eines mit Softwaremixing anbietet. Ziel ist:

    1. Der Ton soll einen Start einer "fehlerhaften" Appplikation überleben.
    2. Ich möchte Minitube ausprobieren können, das per Qt oder KDE auf Phonon zugreift.


    MfG, PyroPeter
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 pferdefreund, 18.12.2009
    pferdefreund

    pferdefreund Doppel-As

    Dabei seit:
    26.12.2007
    Beiträge:
    144
    Zustimmungen:
    0
    Ich hab mal was von nem dmix-plugin für alsa gehört - obs das ist ?
     
  4. #3 pyropeter, 18.12.2009
    Zuletzt bearbeitet: 18.12.2009
    pyropeter

    pyropeter ..geht mit foo in die bar

    Dabei seit:
    31.08.2008
    Beiträge:
    91
    Zustimmungen:
    0
    Ich habe keine Ahnung von ALSA, aber dmix sieht schon mal nicht schlecht aus.

    Weitere Informationen:

    Code:
    [root@eddie etc]# aplay -D iec958:CARD=Intel,DEV=0 foo.wav 
    Playing WAVE 'foo.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
    
    Das funktioniert einwandfrei. Auch mehrmals hintereinander. Nicht aber gleichzeitig ("aplay: main:608: audio open error: Device or resource busy")
    Danach funktioniert mein "normales" Setup per default-device, dass den Ton dann nach setzen von "S/PDIF" in alsamixer "irgendwie" per S/PDIF ausgibt, nicht mehr. (Oben genannte Symptome)

    ------

    Code:
    aplay -D hw:0,1 foo.wav
    
    funktioniert auch.

    Ich habe mir dann das hier zusammengebastelt:
    Code:
    pcm.dmix_test {
            type dmix
            ipc_key 321456  # any unique value
            ipc_key_add_uid true
            slave {
                    pcm "hw:0,1"
                    format S16_LE
                    rate 44100
            }
    }
    
    Die Config habe ich größtenteils von http://www.alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.html kopiert.
    Das erlaubt nun gleichzeitiges Abspielen mit zwei aplay's. (huhu deki)
    Ich werde nun testen, ob ich die rate und format-Werte noch ändern kann, je nachdem, was mein Receiver unterstützt.
    Danach werde ich gucken, was denn wohl Phonon (erschauder) zu dem dmix-device sagt.

    ----------
    Code:
    [root@eddie asound]# aplay -D dmix_test foo.wav
    Playing WAVE 'foo.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
    underrun!!! (at least -1260467843931.547 ms long)
    underrun!!! (at least -1260467843931.548 ms long)
    
    Die beiden Fehlermeldungen erschienen kurz vor Ende der Datei, aber noch zu früh, um dadurch ausgelöst worden zu können. Das hängt doch sicher mit den rate/format-Einstellungen zusammen?


    MfG, PyroPeter

    EDIT:

    Neue asound.conf:

    Code:
    pcm.!default dmix_plug
    ctl.!default dmix_plug
    
    pcm.dmix_test {
            type dmix
            ipc_key 321456  # any unique value
            ipc_key_add_uid true
            slave {
                    pcm "hw:0,1"
                    format S16_LE
                    #rate 44100
    		rate 48000
            }
    }
    
    pcm.dmix_plug {
    	type plug
    	slave.pcm "dmix_asym"
    	hint {
    		show on
    		description "S/PDIF out + dmix + asym + plug"
    	}
    }
    
    ctl.dmix_plug {
    	#type hw
    	#card "Intel"
    	type shm
    }
    
    pcm.dmix_asym {
    	type asym
    	playback.pcm "dmix_test"
    	capture.pcm "fake_capture"
    }
    
    pcm.fake_capture {
    	type null
    }
    
    Nun habe ich ein ganz tolles Problem:
    Mehrere aplays laufen, nur xmms2+aplay oder phonon+aplay funktionieren nicht.
    Code:
    [root@eddie asound]# aplay -D dmix_plug foo.wav 
    ALSA lib pcm_dmix.c:1010:(snd_pcm_dmix_open) unable to open slave
    aplay: main:608: audio open error: Device or resource busy
    
    Mein (teilbelegter) Verdacht ist, dass xmms2 und phonon auf das mixer-device zugreifen (ctl.dmix_plug) und dieses nicht simultan von mehreren Prozessen benutzt werden kann.

    Ich bin ja mal gespannt, ob ich es jemals schaffen werde, ein einigermaßen funktionierendes Sound-Setup zu finden.


    MfG, PyroPeter
     
Thema:

Kein Hardwaremixing: Workarount gesuchd

Die Seite wird geladen...

Kein Hardwaremixing: Workarount gesuchd - Ähnliche Themen

  1. Keine Benachrichtigungen im Vollbild Modus

    Keine Benachrichtigungen im Vollbild Modus: Arch Linux Plasma 5.8 Weiss einer ob das gehen sollte, bzw kann mal einer testen ob es bei ihm geht, gerne auch mit anderen kde/plasma versionen....
  2. Torvalds: »Kein Porno unter Linux«

    Torvalds: »Kein Porno unter Linux«: Ohne eine größere Ankündigung hat Linus Torvalds im Zuge des aktuellen Merge-Fensters einen Patch der Gruppe »Gesellschaft gegen Porno« in den...
  3. BSI-Audit findet keine akuten Probleme in OpenSSL

    BSI-Audit findet keine akuten Probleme in OpenSSL: Das Bundesamt für Sicherheit in der Informationstechnik hat OpenSSL auf seine Sicherheit untersuchen lassen. Die Analyse zeigt vor allem, dass die...
  4. BSI-Audit findet keine akute Probleme in OpenSSL

    BSI-Audit findet keine akute Probleme in OpenSSL: Das Bundesamt für Sicherheit in der Informationstechnik hat OpenSSL auf seine Sicherheit untersuchen lassen. Die Analyse zeigt vor allem, dass die...
  5. RoboVM keine freie Software mehr

    RoboVM keine freie Software mehr: RoboVM, Hersteller der gleichnamigen Entwicklungsumgebung für Mobilsysteme, hat die Lizenz von der GPL in eine proprietäre Lizenz gewandelt. Nach...