30.06.2014 10:05, Matt Zagrabelny wrote:
Hi Alexander!

Actually I think there is enough information in the original mail for me to
guess why, but still, please provide the information I have asked for. The
problem is that your card, which is based on the ICE1712 chipset, does not
expose the 7.1 output and the second spdif output via the stock ALSA card
file. I.e., the "surround71:1" and "spdif:1,1" devices don't exist, and that
needs to be fixed in alsa-lib.

You can test the theory by running these two commands:

pasuspender -- speaker-test -t wav -c6 -D surround51:1

% pasuspender -- speaker-test -t wav -c6 -D surround51:1

speaker-test 1.0.27.2

Playback device is surround51:1
Stream parameters are 48000Hz, S16_LE, 6 channels
WAV file(s)
Sample format not available for playback: Invalid argument
Setting of hwparams failed: Invalid argument

OK, so your card only accepts 32-bit samples.

pasuspender -- speaker-test -t wav -c6 -D 'plug:"surround51:1"'


pasuspender -- speaker-test -t wav -c8 -D surround71:1

% pasuspender -- speaker-test -t wav -c8 -D surround71:1

speaker-test 1.0.27.2

Playback device is surround71:1
Stream parameters are 48000Hz, S16_LE, 8 channels
WAV file(s)
ALSA lib confmisc.c:1286:(snd_func_refer) Unable to find definition
'cards.ICE1712.pcm.surround71.0:CARD=1'
ALSA lib conf.c:4248:(_snd_config_evaluate) function snd_func_refer
returned error: No such file or directory
ALSA lib conf.c:4727:(snd_config_expand) Evaluate error: No such file
or directory
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM surround71:1
Playback open error: -2,No such file or directory

Well, this confirms the issue. Please replace the /usr/share/alsa/cards/ICE1712.conf file with the attached one and see if it helps. Also please verify the channel positions. Again, a plug will be necessary:

pasuspender -- speaker-test -t wav -c8 -D 'plug:"surround71:1"'

Please also verify that the Analog Surround 7.1 profile appears in PulseAudio after that (you need to restart PulseAudio: killall pulseaudio). If that succeeds, I will post the formal patch to the alsa-devel list.

As for the second SPDIF, sorry, I think there is some misunderstanding here. According to the reviews, the card has one spdif input and one spdif output, both of which are already supported.

--
Alexander E. Patrakov
#
# Configuration for the ICE1712 (Envy24) chip
#

# default with dmix & dsnoop
ICE1712.pcm.default {
        @args [ CARD ]
        @args.CARD {
                type string
        }
        type asym
        playback.pcm {
                type plug
                slave.pcm {
                        @func concat
                        strings [ "dmix:" $CARD ",FORMAT=S32_LE" ]
                }
        }
        capture.pcm {
                type plug
                slave.pcm {
                        @func concat
                        strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ]
                }
        }
}

<confdir:pcm/front.conf>

ICE1712.pcm.front.0 {
        @args [ CARD ]
        @args.CARD {
                type string
        }
        type asym
        playback.pcm {
                type route
                ttable.0.0 1
                ttable.1.1 1
                slave.pcm {
                        type hw
                        card $CARD
                }
                slave.channels 10
        }
        capture.pcm {
                type route
                ttable.0.0 1
                ttable.1.1 1
                slave.pcm {
                        type hw
                        card $CARD
                }
                slave.channels 12
        }
}       

<confdir:pcm/surround40.conf>

ICE1712.pcm.surround40.0 {
        @args [ CARD ]
        @args.CARD {
                type string
        }
        type route
        ttable.0.0 1
        ttable.1.1 1
        ttable.2.2 1
        ttable.3.3 1
        slave.pcm {
                type hw
                card $CARD
        }
        slave.channels 10
}       

<confdir:pcm/surround41.conf>
<confdir:pcm/surround50.conf>
<confdir:pcm/surround51.conf>
<confdir:pcm/surround71.conf>

ICE1712.pcm.surround51.0 {
        @args [ CARD ]
        @args.CARD {
                type string
        }
        type route
        ttable.0.0 1
        ttable.1.1 1
        ttable.2.2 1
        ttable.3.3 1
        ttable.4.4 1
        ttable.5.5 1
        slave.pcm {
                type hw
                card $CARD
        }
        slave.channels 10
}

ICE1712.pcm.surround71.0 {
        @args [ CARD ]
        @args.CARD {
                type string
        }
        type route
        ttable.0.0 1
        ttable.1.1 1
        ttable.2.2 1
        ttable.3.3 1
        ttable.4.4 1
        ttable.5.5 1
        ttable.6.6 1
        ttable.7.7 1
        slave.pcm {
                type hw
                card $CARD
        }
        slave.channels 10
}

<confdir:pcm/iec958.conf>

ICE1712.pcm.iec958.0 {
        @args [ CARD AES0 AES1 AES2 AES3 ]
        @args.CARD {
                type string
        }
        @args.AES0 {
                type integer
        }
        @args.AES1 {
                type integer
        }
        @args.AES2 {
                type integer
        }
        @args.AES3 {
                type integer
        }
        type asym
        playback.pcm {
                type hooks
                slave.pcm {
                        type route
                        ttable.0.8 1
                        ttable.1.9 1
                        slave.pcm {
                                type hw
                                card $CARD
                        }
                        slave.format S32_LE
                        slave.channels 10
                }
                hooks.0 {
                        type ctl_elems
                        hook_args [
                                {
                                        interface PCM
                                        name "IEC958 Playback PCM Stream"
                                        lock true
                                        preserve true
                                        value [ $AES0 $AES1 $AES2 $AES3 ]
                                }
                        ]
                }
        }
        capture.pcm {
                type route
                ttable.0.8 1
                ttable.1.9 1
                slave.pcm {
                        type hw
                        card $CARD
                }
                slave.format S32_LE
                slave.channels 12
        }
}
_______________________________________________
pulseaudio-discuss mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Reply via email to