Why don't you just use /proc/asound to gather all the info you need, like buffer and period sizes.I pinpointed the problem and wrote a small program to illustrate the problem.
When compiling the program given below with:
gcc -DUSE_DSP_SETFMT=0 troep.c
it runs fine.
But, when compiling it with:
gcc -DUSE_DSP_SETFMT=1 troep.c
It stops rather quickly with reading data.
Example output of the latter:
~>a.out Fragment size: 1024 Number of fragments: 32767 Number of channels: 1 Sample rate: 22050 Read 1024 bytes. Number of full fragments that can be read or written without blocking: 0 Total number of fragments allocated for buffering: 2 Size of a fragment in bytes: 1024 Number of bytes that can be read or written immediately without blocking: 0 #fragments, #bytes: 0, 0 #fragments, #bytes: 1, 1632 Read 1024 bytes. #fragments, #bytes: 2, 2048 Read 1024 bytes. #fragments, #bytes: 1, 1024 Read 1024 bytes. #fragments, #bytes: 0, 0 #fragments, #bytes: 0, 0 #fragments, #bytes: 0, 0 ...etc
E.g.
While playing a sound file: -
cat /proc/asound/oss/sndstat
cat /proc/asound/card0/pcm0p/info
cat /proc/asound/card0/pcm0p/sub0/hw_params cat /proc/asound/card0/pcm0p/sub0/info cat /proc/asound/card0/pcm0p/sub0/status cat /proc/asound/card0/pcm0p/sub0/sw_params
If recording a sound, use pcm0c instead of pcm0p
Cheers James
------------------------------------------------------- This SF.Net email sponsored by: Parasoft Error proof Web apps, automate testing & more. Download & eval WebKing and get a free book. www.parasoft.com/bulletproofapps _______________________________________________ Alsa-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-devel