[pulseaudio-discuss] Which device-string I should disable between hw:%f and iec958:%f?

Tanu Kaskinen tanuk at iki.fi
Wed Dec 22 18:17:01 UTC 2021


On Wed, 2021-12-22 at 22:01 +0800, 赵成义 wrote:
> Hi guys,
> 
> 
> I found that some usb earphones can match the device-strings hw:%f
> and iec958:%f of the default.conf configuration file 
> at the same time, so two output ports will be displayed, one is the
> analog output and the other is the S/PDIF digital output. 
> 
> 
> Is there any difference between these two outputs? Which device-
> string I should disable between hw:%f and iec958:%f?
> and how can I disable one of them?

iec958:%f is meant for S/PDIF, which is a certain kind of a physical
connector. Earphones are very unlikely to have such connector. If the
connector doesn't exist, that's an issue somewhere below PulseAudio:
alsa configuration (most likely), kernel driver or hardware. If you get
audio when using that output, then the iec958 device is probably just
an alias for the hw device. If the earphones support hardware volume
controls, then there's a difference between iec958 and hw in that
PulseAudio won't use hardware volume control with the iec958 output.

Probably the correct way to disable the iec958 output is to add your
device to this file 
https://github.com/alsa-project/alsa-lib/blob/master/src/conf/cards/USB-Audio.conf
(and submit your change to ALSA upstream). More specifically, the file
contains this section which has a list of devices that should have
their iec958 output disabled:

    # If a device does not use the first PCM device for digital data, the device
    # number for the iec958 device can be changed here.
    USB-Audio.pcm.iec958_device {
            # "NoiseBlaster 3000" 42
            "USB Sound Blaster HD" 1
            "Xonar U7" 1
            "ASUS XONAR U5" 1
            "XONAR U5" 1
            "XONAR SOUND CARD" 1
            "Xonar SoundCard" 2
        
            # The below don't have digital in/out, so prevent them from being opened.
            "Andrea PureAudio USB-SA Headset" 999
            "Blue Snowball" 999
            "C-Media USB Headphone Set" 999
            "HP Digital Stereo Headset" 999
            "GN 9330" 999
            ...

The file is installed in /usr/share/alsa/cards/USB-Audio.conf.

Your problem description contains one weird thing: The mono-fallback
device has the "fallback = yes" option set, which means that it should
be available only if nothing else works. That means that it should be
impossible to have it available at the same time as iec958-stereo.
Maybe that's a bug in PulseAudio.

-- Tanu



More information about the pulseaudio-discuss mailing list