I had an idea for using poll or select (rather than calculating expected play time and using a timeout) in audio.c The idea is to have a thread that sits on a select and dispatches a synthetic wine event (ie. we'd make up a WM_DSP_READY event) when the select returns.
wodPlayer could then do an infinite wait and the select could be turned on or off when starting and ending playing.
From my relatively naive view a generic mechanism like
this (ie. one that converts async IO selects into wine events) would be a good feature to have from a performance and code tidiness point of view. One caveat is that we'd need to ensure nothing evil happened if somebody sent the synthetic event from somewhere other than the select waiter.
Comments? Am I missing something?
__________________________________________________ Do You Yahoo!? Make a great connection at Yahoo! Personals. http://personals.yahoo.com