Raymond Yau wrote: > Are you sure that you really need pulseaudio since your request latency is > quite low ? You mean the small period_size of 160 frames or rather the buffer size of 2*period_size? In fact at 8kHz sampling rate a period_size of 160 equals a full 20ms of sound: duration of one frame: 1000ms / 8000Hz = 0.125ms = 125 us 160 frames * 125us = 20000us = 20ms This is by far more than a large period size holds at a higher sampling rate (e.g. 44.1 kHz). To the question whether pulseaudio is needed: On the embedded target PA will not be used, but since development takes place on a PC, I need a soundcard that supports the mentioned audio format contraints. And at the moment this is pulseaudio which is the reason why I really need it for application development. However, we should try to not drift away from the actual problem which is that *poll() returns an event even if far less than avail_min frames are available*. > You have to ask PA developer whether PA support such low latecny ? > > PA (tsched=0 ) configure your sound card 1792 frames per period but your > application request for 160 frames per period > > You will need the PA expert to answer how PA server capture 1792 frames from > sound card and send it to your application > > : module-alsa-source.c: Using 2 fragments of size 7168 bytes, buffer > time is 81.27ms > > D: alsa-util.c: Its setup is: > D: alsa-util.c: stream : CAPTURE > D: alsa-util.c: access : MMAP_INTERLEAVED > D: alsa-util.c: format : S16_LE > D: alsa-util.c: subformat : STD > D: alsa-util.c: channels : 2 > D: alsa-util.c: rate : 44100 > D: alsa-util.c: exact rate : 44100 (44100/1) > D: alsa-util.c: msbits : 16 > D: alsa-util.c: buffer_size : 3584 > D: alsa-util.c: period_size : 1792 > D: alsa-util.c: period_time : 40634 > D: alsa-util.c: tstamp_mode : ENABLE > D: alsa-util.c: period_step : 1 > D: alsa-util.c: avail_min : 1792 > D: alsa-util.c: period_event : 0 > D: alsa-util.c: start_threshold : -1 > D: alsa-util.c: stop_threshold : 8070450532247928832 > D: alsa-util.c: silence_threshold: 0 > D: alsa-util.c: silence_size : 0 > D: alsa-util.c: boundary : 8070450532247928832 This is how pulseaudio works *internally*. Hence it opens my hardware sound card "hw" with the above format. If sound it recorded/played back at a different sampling rate, PA converts it. If you play a prerecorded audio file that has been recorded at a different sampling rate, you can see that behavior. What happens is: [sound application (e.g.. aplay)] ---(audio format of sound file)---> [ PA plugin] --> [PA daemon] ---(audio format of PA)--> [soundcard] cheers, stefan _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel