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