[alsa-devel] [PATCH 1/2] Remove definition for surround sound devices on ICE1712.
Alan Horstmann
gineera at aspect135.co.uk
Mon Jan 26 18:43:03 CET 2009
On Wednesday 21 January 2009 16:33, you wrote:
> At Wed, 21 Jan 2009 16:45:29 +0000,
> Alan Horstmann wrote:
> > On Wednesday 21 January 2009 10:00, Takashi Iwai wrote:
> > > At Tue, 20 Jan 2009 17:33:24 +0100,
> > > Diego E. 'Flameeyes' Pettenò wrote:
> > > > Using the correct format, front:IDX should work with two channels
> > > > sound files, and it doesn't, nor surround40:IDX works with four
> > > > channels or surround71:IDX with eight channels.
<snip>
> > I think Diego's point though is that 'surround40:IDX' might be expected
> > to be a 4-channel stream, whereas it is as dependant on the hardware as
> > 'hw:IDX' is. In the later case it is clear that the user must provide
> > audio in whatever format/channels the hardware uses. However it is
> > unexpected that eg on ice1712 'surround40:IDX' requires a 10-channel
> > playback stream and ignores 6 of them, and will not play a 4-channel
> > stream.
> >
> > It is also not symetrical, so if you capture it has to be a 12-channel
> > stream, which it is then not possible to play without using the plug:
> > devices.
> >
> > Unless I am mistaken...
>
> Right, ice1712 is tricky as is. I myself feel having plug inside the
> front, etc, definitions would be more intuitive. However, the plug
> over plug doesn't (didn't? -- need checks) work. And, the definition
> should be as slim as possible. These are counter arguments.
It may be that you want to drop this completely, but I have done a little more
testing and thinking, in case not.
The purpose of the 'front', 'surround' etc definitions is presumably to
provide pre-configured routing to certain standard outputs where this is
possible with the card hardware. Therefore it seems reasonable for the user
to expect channel number conversion to be handled by these devices, as
Diego's original proposal for 'front'. One might augue the format conversion
should not be included since that really is the job of 'plug:front'.
In the case of ice1712 it is particularly useful due to the asymmetry of
channels playback and capture. That raises another question -what is the
meaning of capture from a device such as 'surround'? Would anyone want to do
it and what would they expect (stereo/4-channel)? Should the devices be
playback only? Capture would be very dependant on the specific board. Is
there any way to handle different conf files dependant on different ice1712
cards?
I have tested a modified ICE1712.conf with front definition similar to
Diego's, essentially:-
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
}
and can confirm playback of files with various channel numbers is possible
fine. Also, plug:front in this case still works fine.
I wondered what your thoughts are on this?
Alan
More information about the Alsa-devel
mailing list