[with fresh alsa-cvs update]

i'm doing mmap'ed io on the audiophile (ice1712) with:
 hw_params->period_size = 2048 
 sw_params->avail_min = 1024

as long as i use only one stream, i get 2048 available frames when
poll() returns. 1024 would be nicer, but it's workable like this, too.

as soon as i link the card's streams - they both have been configured
for the same values - and poll both of them, poll() returns immediately, 
and available is 5-7 frames on both streams (in a SCHED_FIFO thread, and
this is very very bad since it starves all other processes).

when i poll() only the stream i linked the other stream to i get the
useful behaviour back (available == 2048). if one should not poll all
descriptors from a linked setup but only one, this should be clearly 
stated in the documentation.

and another related problem: when i poll any stream before it is started,
poll() returns immediately, too. while one may in an esoteric mood argue
that this makes sense in the playback case since the stream *is* ready for
data, this behaviour is nonsense with a capture stream - there's no data
to read from it. i'd rather have poll() time out in both cases - it's
safer and makes more sense imo.

tim


_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to