[alsa-devel] ALSA problems with simultaneous Capture and playback

Nobin Mathew nobin.mathew at gmail.com
Wed May 9 20:06:00 CEST 2007


I am facing a problem with simultaneous playback and Capture.

I am doing Mic Capture and Playing it back.

this is format i am using SND_PCM_FORMAT_S16_LE.
I am recording only one channel "Mono".

this is my driver pcm_hardware configuration

static struct snd_pcm_hardware pcm_hw_info = {
	.info			= SNDRV_PCM_INFO_MMAP |
				  SNDRV_PCM_INFO_MMAP_VALID |
				  SNDRV_PCM_INFO_INTERLEAVED |
				  SNDRV_PCM_INFO_BLOCK_TRANSFER |
				  SNDRV_PCM_INFO_RESUME,

	/*
	 * ALSA doesn't support 18-bit or 20-bit packed into 32-bit
	 * words.  It also doesn't support 12-bit at all.
	 */
	.formats		= SNDRV_PCM_FMTBIT_S16_LE,

	/* should this be continuous or knot? */
	.buffer_bytes_max	= 64 * 1024,
	.period_bytes_min	= 1024,
	.period_bytes_max	= 1024,
	.periods_min		= 4,
	.periods_max		= 64,
};



I am getting following errors when i do simultaneous capture and playback.
Start the while looop

 MY ReadFromAlsa        512     256

 MY WriteToAlsa 512     256

 MY ReadFromAlsa        512     256

 MY WriteToAlsa 512     256

 MY ReadFromAlsa        512     256

 MY WriteToAlsa 512     256

 MY ReadFromAlsa        512     256

 MY WriteToAlsa 512     256

 MY ReadFromAlsa        512     256

 MY WriteToAlsa 512     256

 MY ReadFromAlsa        512     256

 MY WriteToAlsa 512     256

 MY ReadFromAlsa        512     256

 MY WriteToAlsa 512     256

 MY ReadFromAlsa        512     256

 MY WriteToAlsa 512     256

 MY ReadFromAlsaTrying to free free IRQ27
        512     256
ReadFromAlsa():State:4, iiLen=2048
ReadFromAlsa():State:2
Overflow state

 MY ReadFromAlsa        512     256

 MY WriteToAlsa 512     256

 MY ReadFromAlsa        512     256

 MY WriteToAlsa 512     256

 MY ReadFromAlsa        512     256

 MY WriteToAlsa 512     256

 MY ReadFromAlsa        512     256

 MY WriteToAlsa 512     256

 MY ReadFromAlsa        512     256

 MY WriteToAlsa 512     256

 MY ReadFromAlsaTrying to free free IRQ27
        512     256
ReadFromAlsa():State:4, iiLen=1280
ReadFromAlsa():State:2
Overflow state

 MY ReadFromAlsa        512     256

 MY WriteToAlsa 512     256

 MY ReadFromAlsa        512     256

 MY WriteToAlsa 512     256

 MY ReadFromAlsa        512     256

 MY WriteToAlsa 512     256

 MY ReadFromAlsa        512     256

 MY WriteToAlsa 512     256

 MY ReadFromAlsa        512     256

 MY WriteToAlsa 512     256

 MY ReadFromAlsaTrying to free free IRQ27
        512     256
ReadFromAlsa():State:4, iiLen=1280
ReadFromAlsa():State:2
Overflow state

One read and write handle 256 frames.

Write seems to be OK, but read fails

State 4 is SND_PCM_STATE_XRUN

why this XRUN is happening?


any idea why this is coming?

where i am going wrong?

Thanks


More information about the Alsa-devel mailing list