[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.


> > 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 

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?


More information about the Alsa-devel mailing list