Skip to contentSkip to conversation

Full duplex dmix,dsnoop

PATCH In review James Courtier-Dutton 2 participants 3 messages Mar 25, 2004

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Full duplex dmix,dsnoop

See attached patch for suggested new pcm device.

It works for: -
arecord -fdat -Dplug:duplex | aplay -Dplug:duplex

bash-2.05b# arecord -fdat -Dplug:duplex | aplay -Dplug:duplex Recording WAVE 'stdout' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo Playing WAVE 'stdin' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo

but fails for: -
arecord -fcd -Dplug:duplex | aplay -Dplug:duplex

bash-2.05b# arecord -fcd -Dplug:duplex | aplay -Dplug:duplex
Recording WAVE 'stdout' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo Playing WAVE 'stdin' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
arecord: pcm.c:5920: snd_pcm_mmap_commit: Assertion `frames <= snd_pcm_mmap_avail(pcm)' failed. Aborted by signal Aborted...

This last example with -fcd, outputs one period, maybe two then exits with the above error.

Can anybody help?

Cheers
James

alsa.conf renamed from alsa.conf.org +6 -0
@@ -228,6 +228,12 @@
 	}
 }
 
+pcm.duplex {
+	type asym
+		playback.pcm "dmix"
+		capture.pcm "dsnoop"
+}
+
 pcm.shm {
 	@args [ SOCKET PCM ]
 	@args.SOCKET {
#1 lore raw
Quoted 9 lines · James Courtier-Dutton

bash-2.05b# arecord -fcd -Dplug:duplex | aplay -Dplug:duplex Recording WAVE 'stdout' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo Playing WAVE 'stdin' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
arecord: pcm.c:5920: snd_pcm_mmap_commit: Assertion `frames <= snd_pcm_mmap_avail(pcm)' failed.
Aborted by signal Aborted...

This last example with -fcd, outputs one period, maybe two then exits with the above error.

Do you use latest CVS code? I've fixed this problem with the rate (resampling) plugin.

Jaroslav

-----
Jaroslav Kysela <[email protected]>
Linux Kernel Sound Maintainer
ALSA Project, SuSE Labs

-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click

#2 lore raw
Quoted 9 lines · Jaroslav Kysela
Quoted 6 lines · James Courtier-Dutton

bash-2.05b# arecord -fcd -Dplug:duplex | aplay -Dplug:duplex
Recording WAVE 'stdout' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo Playing WAVE 'stdin' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
arecord: pcm.c:5920: snd_pcm_mmap_commit: Assertion `frames <= snd_pcm_mmap_avail(pcm)' failed. Aborted by signal Aborted...

Quoted 7 lines
Quoted 1 line

This last example with -fcd, outputs one period, maybe two then exits with the above error.

Do you use latest CVS code? I've fixed this problem with the rate (resampling) plugin.

Jaroslav

I think so, cat /usr/include/alsa/version.h

/*
* version.h
*/

#define SND_LIB_MAJOR           1 /**< major number of library version */
#define SND_LIB_MINOR           0 /**< minor number of library version */
#define SND_LIB_SUBMINOR        3 /**< subminor number of library version */
#define SND_LIB_EXTRAVER        1000000 /**< extra version number, used mainly for betas */
/** library version */
#define SND_LIB_VERSION         ((SND_LIB_MAJOR<<16)|\
                                 (SND_LIB_MINOR<<8)|\
                                  SND_LIB_SUBMINOR)

/** library version (string) */
#define SND_LIB_VERSION_STR "1.0.3b"

-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click