Hi! replying to myself. On 11.08.05, Joerg Lehmann wrote:
Could be but it could also be some other thread not releasing Python's global interpreter lock (GIL) (for instance during I/O). To alleviate this problem a bit, I'm planning to rewrite the small output buffering class in C. Then we won't be dependent on having the GIL anymore. This buffering thread then could obtain realtime priority, although I currently do not know how to do this.
I've just checked in a C extension module, which does the buffering and thus does not have to rely on holding the GIL. Together with a large enough bufsize in the [players.main] section, this should improve the dropout situation a bit. Of course, we still need realtime priority (I'll have a look into this later)... and the Linux kernel also has to behave properly ;-) Please test the lastest SVN version and tell me whether you see any improvement (I hope so, writing the extension module was quite some work ;-) ) Jörg