The current implementation places commands before headers inthis what code at lines 1277-1290 is supposed to do, isn't it ?
the between thread queue. This is wrong. For example, if you
submit 10s worth of headers to the between thread queue and
immediately send a reset command, the reset command is
placed at the head of the queue and will be the first thing read
by the audio thread from the queue. The reset command has to
return the headers to the application with the done bit set.
what wodPlayer_Reset do (when call with reset to TRUE) is:
1/ flush all data in OSS buffers
2/ mark all player thread wavehdr:s as done and return them
3/ mark all pending commands (which should all be wave headers) as done and return wave headers
which is the process you describe.
A+ -- Eric Pouech