All of lore.kernel.org
 help / color / mirror / Atom feed
* can't use dmixer
@ 2007-12-05  6:23 feng_tian
  2007-12-05  7:42 ` Tobin Davis
  2007-12-05  8:30 ` Clemens Ladisch
  0 siblings, 2 replies; 4+ messages in thread
From: feng_tian @ 2007-12-05  6:23 UTC (permalink / raw)
  To: alsa-devel, alsa-user

Hi, all:
I have a problem with dmix of alsa. 
I'm using alsa v1.0.11rc2 now. And make it running on ATMEL AT91SAM9260EK board. It runs ok without Dmix. But when I tried:
bash> aplay -D dmixer test.wav
The errors are:

ALSA lib pcm_direct.c:790:(snd_pcm_direct_initialize_slave) slave plugin does not support mmap interleaved or mmap noninterleaved access
ALSA lib pcm_dmix.c:864:(snd_pcm_dmix_open) unable to initialize slave
aplay: main:547: audio open error: Invalid argument

The configuration of my alsa in /etc/asound.con is:

pcm.card0 {
	type hw
	card 0
	}
	
pcm.!default {
	type plug
	slave.pcm "dmixer"
	}
	
pcm.dmixer {
	type dmix
	ipc_key 1024
	slave {
		pcm "hw:0,0"
		format S16_LE
		period_time 0
		period_size 1024
		buffer_size 4096
		
		rate 22050 
		}
	bindings {
		0 0
		1 1
		}
	}
ctl.dmixer {
	type hw
	card 0
	device 0
	}
pcm.dsp {
	type plug
	slave.pcm "dmixer" #use our new PCM here
	}
ctl.mixer{
	type hw
	card 0
	}
bash> aplay -L
gives:

PCM list:
hw {
	@args.0 CARD
	@args.1 DEV
	@args.2 SUBDEV
	@args.CARD {
		type string
		default {
			@func getenv
			vars {
				0 ALSA_PCM_CARD
				1 ALSA_CARD
			}
			default {
				@func refer
				name 'defaults.pcm.card'
			}
		}
	}
	@args.DEV {
		type integer
		default {
			@func igetenv
			vars {
				0 ALSA_PCM_DEVICE
			}
			default {
				@func refer
				name 'defaults.pcm.device'
			}
		}
	}
	@args.SUBDEV {
		type integer
		default {
			@func refer
			name 'defaults.pcm.subdevice'
		}
	}
	type hw
	card $CARD
	device $DEV
	subdevice $SUBDEV
}
plughw {
	@args.0 CARD
	@args.1 DEV
	@args.2 SUBDEV
	@args.CARD {
		type string
		default {
			@func getenv
			vars {
				0 ALSA_PCM_CARD
				1 ALSA_CARD
			}
			default {
				@func refer
				name 'defaults.pcm.card'
			}
		}
	}
	@args.DEV {
		type integer
		default {
			@func igetenv
			vars {
				0 ALSA_PCM_DEVICE
			}
			default {
				@func refer
				name 'defaults.pcm.device'
			}
		}
	}
	@args.SUBDEV {
		type integer
		default {
			@func refer
			name 'defaults.pcm.subdevice'
		}
	}
	type plug
	slave.pcm {
		type hw
		card $CARD
		device $DEV
		subdevice $SUBDEV
	}
}
plug {
	@args.0 SLAVE
	@args.SLAVE {
		type string
	}
	type plug
	slave.pcm $SLAVE
}
shm {
	@args.0 SOCKET
	@args.1 PCM
	@args.SOCKET {
		type string
	}
	@args.PCM {
		type string
	}
	type shm
	server $SOCKET
	pcm $PCM
}
tee {
	@args.0 SLAVE
	@args.1 FILE
	@args.2 FORMAT
	@args.SLAVE {
		type string
	}
	@args.FILE {
		type string
	}
	@args.FORMAT {
		type string
		default raw
	}
	type file
	slave.pcm $SLAVE
	file $FILE
	format $FORMAT
}
file {
	@args.0 FILE
	@args.1 FORMAT
	@args.FILE {
		type string
	}
	@args.FORMAT {
		type string
		default raw
	}
	type file
	slave.pcm null
	file $FILE
	format $FORMAT
}
null {
	type null
}
cards 'cards.pcm'
front 'cards.pcm.front'
rear 'cards.pcm.rear'
center_lfe 'cards.pcm.center_lfe'
side 'cards.pcm.side'
surround40 'cards.pcm.surround40'
surround41 'cards.pcm.surround41'
surround50 'cards.pcm.surround50'
surround51 'cards.pcm.surround51'
surround71 'cards.pcm.surround71'
iec958 'cards.pcm.iec958'
spdif 'cards.pcm.iec958'
modem 'cards.pcm.modem'
phoneline 'cards.pcm.phoneline'
dmix 'cards.pcm.dmix'
dsnoop 'cards.pcm.dsnoop'
card0 {
	type hw
	card 0
}
default {
	type plug
	slave.pcm dmixer
}
dmixer {
	type dmix
	ipc_key 1024
	slave {
		pcm 'hw:0,0'
		format S16_LE
		period_time 0
		period_size 1024
		buffer_size 4096
		rate 22050
	}
	bindings {
		0 0
		1 1
	}
}
dsp {
	type plug
	slave.pcm dmixer
}
Is there anyone experienced in this kind of error?  Any helps or advices is wecome.

BR
Feng

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: can't use dmixer
  2007-12-05  6:23 can't use dmixer feng_tian
@ 2007-12-05  7:42 ` Tobin Davis
  2007-12-08  8:17   ` feng_tian
  2007-12-05  8:30 ` Clemens Ladisch
  1 sibling, 1 reply; 4+ messages in thread
From: Tobin Davis @ 2007-12-05  7:42 UTC (permalink / raw)
  To: feng_tian; +Cc: alsa-user, alsa-devel

First and foremost, you are running on a version that is really old (by
Linux standards).  The current release is 1.0.15.  I'd suggest upgrading
and seeing if that solves your issue.  Repost if it doesn't.

Tobin

On Wed, 2007-12-05 at 14:23 +0800, feng_tian wrote:

> Hi, all:
> I have a problem with dmix of alsa. 
> I'm using alsa v1.0.11rc2 now. And make it running on ATMEL AT91SAM9260EK board. It runs ok without Dmix. But when I tried:
> bash> aplay -D dmixer test.wav
> The errors are:
> 
> ALSA lib pcm_direct.c:790:(snd_pcm_direct_initialize_slave) slave plugin does not support mmap interleaved or mmap noninterleaved access
> ALSA lib pcm_dmix.c:864:(snd_pcm_dmix_open) unable to initialize slave
> aplay: main:547: audio open error: Invalid argument
> 
> The configuration of my alsa in /etc/asound.con is:
> 
> pcm.card0 {
> 	type hw
> 	card 0
> 	}
> 	
> pcm.!default {
> 	type plug
> 	slave.pcm "dmixer"
> 	}
> 	
> pcm.dmixer {
> 	type dmix
> 	ipc_key 1024
> 	slave {
> 		pcm "hw:0,0"
> 		format S16_LE
> 		period_time 0
> 		period_size 1024
> 		buffer_size 4096
> 		
> 		rate 22050 
> 		}
> 	bindings {
> 		0 0
> 		1 1
> 		}
> 	}
> ctl.dmixer {
> 	type hw
> 	card 0
> 	device 0
> 	}
> pcm.dsp {
> 	type plug
> 	slave.pcm "dmixer" #use our new PCM here
> 	}
> ctl.mixer{
> 	type hw
> 	card 0
> 	}
> bash> aplay -L
> gives:
> 
> PCM list:
> hw {
> 	@args.0 CARD
> 	@args.1 DEV
> 	@args.2 SUBDEV
> 	@args.CARD {
> 		type string
> 		default {
> 			@func getenv
> 			vars {
> 				0 ALSA_PCM_CARD
> 				1 ALSA_CARD
> 			}
> 			default {
> 				@func refer
> 				name 'defaults.pcm.card'
> 			}
> 		}
> 	}
> 	@args.DEV {
> 		type integer
> 		default {
> 			@func igetenv
> 			vars {
> 				0 ALSA_PCM_DEVICE
> 			}
> 			default {
> 				@func refer
> 				name 'defaults.pcm.device'
> 			}
> 		}
> 	}
> 	@args.SUBDEV {
> 		type integer
> 		default {
> 			@func refer
> 			name 'defaults.pcm.subdevice'
> 		}
> 	}
> 	type hw
> 	card $CARD
> 	device $DEV
> 	subdevice $SUBDEV
> }
> plughw {
> 	@args.0 CARD
> 	@args.1 DEV
> 	@args.2 SUBDEV
> 	@args.CARD {
> 		type string
> 		default {
> 			@func getenv
> 			vars {
> 				0 ALSA_PCM_CARD
> 				1 ALSA_CARD
> 			}
> 			default {
> 				@func refer
> 				name 'defaults.pcm.card'
> 			}
> 		}
> 	}
> 	@args.DEV {
> 		type integer
> 		default {
> 			@func igetenv
> 			vars {
> 				0 ALSA_PCM_DEVICE
> 			}
> 			default {
> 				@func refer
> 				name 'defaults.pcm.device'
> 			}
> 		}
> 	}
> 	@args.SUBDEV {
> 		type integer
> 		default {
> 			@func refer
> 			name 'defaults.pcm.subdevice'
> 		}
> 	}
> 	type plug
> 	slave.pcm {
> 		type hw
> 		card $CARD
> 		device $DEV
> 		subdevice $SUBDEV
> 	}
> }
> plug {
> 	@args.0 SLAVE
> 	@args.SLAVE {
> 		type string
> 	}
> 	type plug
> 	slave.pcm $SLAVE
> }
> shm {
> 	@args.0 SOCKET
> 	@args.1 PCM
> 	@args.SOCKET {
> 		type string
> 	}
> 	@args.PCM {
> 		type string
> 	}
> 	type shm
> 	server $SOCKET
> 	pcm $PCM
> }
> tee {
> 	@args.0 SLAVE
> 	@args.1 FILE
> 	@args.2 FORMAT
> 	@args.SLAVE {
> 		type string
> 	}
> 	@args.FILE {
> 		type string
> 	}
> 	@args.FORMAT {
> 		type string
> 		default raw
> 	}
> 	type file
> 	slave.pcm $SLAVE
> 	file $FILE
> 	format $FORMAT
> }
> file {
> 	@args.0 FILE
> 	@args.1 FORMAT
> 	@args.FILE {
> 		type string
> 	}
> 	@args.FORMAT {
> 		type string
> 		default raw
> 	}
> 	type file
> 	slave.pcm null
> 	file $FILE
> 	format $FORMAT
> }
> null {
> 	type null
> }
> cards 'cards.pcm'
> front 'cards.pcm.front'
> rear 'cards.pcm.rear'
> center_lfe 'cards.pcm.center_lfe'
> side 'cards.pcm.side'
> surround40 'cards.pcm.surround40'
> surround41 'cards.pcm.surround41'
> surround50 'cards.pcm.surround50'
> surround51 'cards.pcm.surround51'
> surround71 'cards.pcm.surround71'
> iec958 'cards.pcm.iec958'
> spdif 'cards.pcm.iec958'
> modem 'cards.pcm.modem'
> phoneline 'cards.pcm.phoneline'
> dmix 'cards.pcm.dmix'
> dsnoop 'cards.pcm.dsnoop'
> card0 {
> 	type hw
> 	card 0
> }
> default {
> 	type plug
> 	slave.pcm dmixer
> }
> dmixer {
> 	type dmix
> 	ipc_key 1024
> 	slave {
> 		pcm 'hw:0,0'
> 		format S16_LE
> 		period_time 0
> 		period_size 1024
> 		buffer_size 4096
> 		rate 22050
> 	}
> 	bindings {
> 		0 0
> 		1 1
> 	}
> }
> dsp {
> 	type plug
> 	slave.pcm dmixer
> }
> Is there anyone experienced in this kind of error?  Any helps or advices is wecome.
> 
> BR
> Feng
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

-- 
Tobin Davis  


I'm having a tax-deductible experience!  I need an energy crunch!!

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: can't use dmixer
  2007-12-05  6:23 can't use dmixer feng_tian
  2007-12-05  7:42 ` Tobin Davis
@ 2007-12-05  8:30 ` Clemens Ladisch
  1 sibling, 0 replies; 4+ messages in thread
From: Clemens Ladisch @ 2007-12-05  8:30 UTC (permalink / raw)
  To: feng_tian, alsa-devel

feng_tian wrote:
> I have a problem with dmix of alsa. 
> I'm using alsa v1.0.11rc2 now.

It would be a good idea to update at least alsa-lib.

> And make it running on ATMEL AT91SAM9260EK board.

Which driver?

> ALSA lib pcm_direct.c:790:(snd_pcm_direct_initialize_slave) slave plugin does not support mmap interleaved or mmap noninterleaved access

Apparently, your driver, whichever one it is, does not support access
to its memory buffer.  This would be required for dmix to work.

The current ARM drivers in the ALSA tree seem to support mmap, so I
guess your driver needs to be extended to support it, too.


Regards,
Clemens

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: can't use dmixer
  2007-12-05  7:42 ` Tobin Davis
@ 2007-12-08  8:17   ` feng_tian
  0 siblings, 0 replies; 4+ messages in thread
From: feng_tian @ 2007-12-08  8:17 UTC (permalink / raw)
  To: Tobin Davis; +Cc: alsa-devel

I updated my ALSA driver, libs and utils to 1.0.15, but when I use dmix of aplay, it still complaints the error:

ALSA lib pcm_direct.c:790:(snd_pcm_direct_initialize_slave) slave plugin does not support mmap interleaved or mmap noninterleaved access
ALSA lib pcm_dmix.c:864:(snd_pcm_dmix_open) unable to initialize slave
aplay: main:547: audio open error: Invalid argument

I don't think that it's sound card doesn't support this mmap. Dmix is a soft mixer, right? So where should I start to fix this problem.
Any comments or advices are welcome.

BR
Feng




 
 

在2007-12-05,"Tobin Davis" <tdavis@dsl-only.net> 写道:

First and foremost, you are running on a version that is really old (by
Linux standards).  The current release is 1.0.15.  I'd suggest upgrading
and seeing if that solves your issue.  Repost if it doesn't.

Tobin

On Wed, 2007-12-05 at 14:23 +0800, feng_tian wrote:

> Hi, all:
> I have a problem with dmix of alsa. 
> I'm using alsa v1.0.11rc2 now. And make it running on ATMEL AT91SAM9260EK board. It runs ok without Dmix. But when I tried:
> bash> aplay -D dmixer test.wav
> The errors are:
> 
> ALSA lib pcm_direct.c:790:(snd_pcm_direct_initialize_slave) slave plugin does not support mmap interleaved or mmap noninterleaved access
> ALSA lib pcm_dmix.c:864:(snd_pcm_dmix_open) unable to initialize slave
> aplay: main:547: audio open error: Invalid argument
> 
> The configuration of my alsa in /etc/asound.con is:
> 
> pcm.card0 {
> 	type hw
> 	card 0
> 	}
> 	
> pcm.!default {
> 	type plug
> 	slave.pcm "dmixer"
> 	}
> 	
> pcm.dmixer {
> 	type dmix
> 	ipc_key 1024
> 	slave {
> 		pcm "hw:0,0"
> 		format S16_LE
> 		period_time 0
> 		period_size 1024
> 		buffer_size 4096
> 		
> 		rate 22050 
> 		}
> 	bindings {
> 		0 0
> 		1 1
> 		}
> 	}
> ctl.dmixer {
> 	type hw
> 	card 0
> 	device 0
> 	}
> pcm.dsp {
> 	type plug
> 	slave.pcm "dmixer" #use our new PCM here
> 	}
> ctl.mixer{
> 	type hw
> 	card 0
> 	}
> bash> aplay -L
> gives:
> 
> PCM list:
> hw {
> 	@args.0 CARD
> 	@args.1 DEV
> 	@args.2 SUBDEV
> 	@args.CARD {
> 		type string
> 		default {
> 			@func getenv
> 			vars {
> 				0 ALSA_PCM_CARD
> 				1 ALSA_CARD
> 			}
> 			default {
> 				@func refer
> 				name 'defaults.pcm.card'
> 			}
> 		}
> 	}
> 	@args.DEV {
> 		type integer
> 		default {
> 			@func igetenv
> 			vars {
> 				0 ALSA_PCM_DEVICE
> 			}
> 			default {
> 				@func refer
> 				name 'defaults.pcm.device'
> 			}
> 		}
> 	}
> 	@args.SUBDEV {
> 		type integer
> 		default {
> 			@func refer
> 			name 'defaults.pcm.subdevice'
> 		}
> 	}
> 	type hw
> 	card $CARD
> 	device $DEV
> 	subdevice $SUBDEV
> }
> plughw {
> 	@args.0 CARD
> 	@args.1 DEV
> 	@args.2 SUBDEV
> 	@args.CARD {
> 		type string
> 		default {
> 			@func getenv
> 			vars {
> 				0 ALSA_PCM_CARD
> 				1 ALSA_CARD
> 			}
> 			default {
> 				@func refer
> 				name 'defaults.pcm.card'
> 			}
> 		}
> 	}
> 	@args.DEV {
> 		type integer
> 		default {
> 			@func igetenv
> 			vars {
> 				0 ALSA_PCM_DEVICE
> 			}
> 			default {
> 				@func refer
> 				name 'defaults.pcm.device'
> 			}
> 		}
> 	}
> 	@args.SUBDEV {
> 		type integer
> 		default {
> 			@func refer
> 			name 'defaults.pcm.subdevice'
> 		}
> 	}
> 	type plug
> 	slave.pcm {
> 		type hw
> 		card $CARD
> 		device $DEV
> 		subdevice $SUBDEV
> 	}
> }
> plug {
> 	@args.0 SLAVE
> 	@args.SLAVE {
> 		type string
> 	}
> 	type plug
> 	slave.pcm $SLAVE
> }
> shm {
> 	@args.0 SOCKET
> 	@args.1 PCM
> 	@args.SOCKET {
> 		type string
> 	}
> 	@args.PCM {
> 		type string
> 	}
> 	type shm
> 	server $SOCKET
> 	pcm $PCM
> }
> tee {
> 	@args.0 SLAVE
> 	@args.1 FILE
> 	@args.2 FORMAT
> 	@args.SLAVE {
> 		type string
> 	}
> 	@args.FILE {
> 		type string
> 	}
> 	@args.FORMAT {
> 		type string
> 		default raw
> 	}
> 	type file
> 	slave.pcm $SLAVE
> 	file $FILE
> 	format $FORMAT
> }
> file {
> 	@args.0 FILE
> 	@args.1 FORMAT
> 	@args.FILE {
> 		type string
> 	}
> 	@args.FORMAT {
> 		type string
> 		default raw
> 	}
> 	type file
> 	slave.pcm null
> 	file $FILE
> 	format $FORMAT
> }
> null {
> 	type null
> }
> cards 'cards.pcm'
> front 'cards.pcm.front'
> rear 'cards.pcm.rear'
> center_lfe 'cards.pcm.center_lfe'
> side 'cards.pcm.side'
> surround40 'cards.pcm.surround40'
> surround41 'cards.pcm.surround41'
> surround50 'cards.pcm.surround50'
> surround51 'cards.pcm.surround51'
> surround71 'cards.pcm.surround71'
> iec958 'cards.pcm.iec958'
> spdif 'cards.pcm.iec958'
> modem 'cards.pcm.modem'
> phoneline 'cards.pcm.phoneline'
> dmix 'cards.pcm.dmix'
> dsnoop 'cards.pcm.dsnoop'
> card0 {
> 	type hw
> 	card 0
> }
> default {
> 	type plug
> 	slave.pcm dmixer
> }
> dmixer {
> 	type dmix
> 	ipc_key 1024
> 	slave {
> 		pcm 'hw:0,0'
> 		format S16_LE
> 		period_time 0
> 		period_size 1024
> 		buffer_size 4096
> 		rate 22050
> 	}
> 	bindings {
> 		0 0
> 		1 1
> 	}
> }
> dsp {
> 	type plug
> 	slave.pcm dmixer
> }
> Is there anyone experienced in this kind of error?  Any helps or advices is wecome.
> 
> BR
> Feng
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

-- 
Tobin Davis  


I'm having a tax-deductible experience!  I need an energy crunch!!
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-12-08  8:17 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-12-05  6:23 can't use dmixer feng_tian
2007-12-05  7:42 ` Tobin Davis
2007-12-08  8:17   ` feng_tian
2007-12-05  8:30 ` Clemens Ladisch

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.