after having a brief look at the hidio sources, you seem to use a mutex for synchronization with a child thread ... this is basically not save and may lead to audio dropouts, when running with low latencies. i know, miller's portaudio implementation is not able to run under low latencies, but the callback scheduler of devel is able to do so...
We are currently in the discussion of how to use threads in externals/ io/hidio, so we are testing various configurations, so this is probably going to change drastically. (one hidio author that shall remain unnamed prefers to avoid this list for understandable but unfortunate reasons).
How would you handle this particular situation?
well, devel contains some data structures to provide lockfree synchronization, which vanilla is lacking. but since other technical problems don't allow vanilla to run with low latencies, i wouldn't really care about vanilla.
however, if you use thomas's flext framework, you won't really have to deal with the threading problems, since he wrapped both vanilla's and devel's api into flext, so no need to deal with it separately. beside that, the max-port doesn't require 17 ifdefs ;)
cheers ... tim
-- tim@klingt.org ICQ: 96771783 http://www.mokabar.tk
Every word is like an unnecessary stain on silence and nothingness Samuel Beckett