With reference to http://0pointer.de/lennart/projects/pulseaudio/doxygen/stream_8h.html#aa2e5ff19aa36b90471c34badbdfdf345 and using pulseaudio-0.9.15-17.fc11.i586: My experiments shows that pa_stream_readable_size() sometimes returns 4294967295 = 0xffffffff. That possibility is not described in the documentation, AFAICS. However, I have only seen that happen when not PA_STREAM_READY. Is the ready state a precondition for calling this function? How should race conditions be avoided? It would have matched my expectations better if the type was ssize_t and the value thus -1. Are there any other special values? Have I misunderstood something? Or is it a bug in pa? Or some unfortunate artificats for which documentation patches would be appreciated? Do the same apply to pa_stream_writable_size? /Mads