Hi,
I've never tried to understand quartz, but I'd like to know whether quartz expects particular behaviour from the underlying winmm or mmdevapi time/position/length functions. For instance, quartz says its clocks are monotically increasing, whereas no such requirement is documented (or at least known to me) for the audio stream positions. This may seem obvious, but then I came across some mailing list where people reported a sudden backward change in stream position when pluggin/unplugging earphones or the like. Is quartz very decoupled from the underlying audio information? Who stops the clock (if at all) while the stream is paused?
BTW, in theory I have the tools to easily test quartz, using my interactive MCI shell http://bugs.winehq.org/show_bug.cgi?id=20232#c10
However every time I tried, I found mciqtz too underpowered to be able to reasonably use it. :-(
Using the MCI to use mciqtz (which in turn uses quartz.dll) goes as follows: wine wintest.exe mcishell
open foo.wav alias w type mpegvideo status w length play w from 0 notify wait close w # lots of other commands are available
open foo.avi alias a type mpegvideo window a state show status a length play a from 0 close a
Omit the "type mpegvideo" and mciwave or mciavi will be used instead of mciqtz32.dll
Regards, Jörg Höhle