Commit 63a6b308 authored by Zebediah Figura's avatar Zebediah Figura Committed by Alexandre Julliard

quartz/dsoundrender: Delegate IReferenceClock to the system clock.

For several reasons. Firstly, the reference clock should still function when the filter is not running. Secondly, IDirectSoundBuffer::GetPositions() in practice returns very coarse positions, both on Windows and on Wine. On my hardware, the resolution is about 10ms, which, while suitable for the DirectSound renderer and probably also any video renderers, is nevertheless actually coarser than GetTickCount(). Thirdly, testing supports that the native DirectSound renderer returns a timestamp from IReferenceClock::GetTime() that is more accurate than IDirectSoundBuffer::GetPositions(). In fact, after dumping a large number of different clock sources, I came to the conclusion that it is probably using timeGetTime() as a source. On Wine that's identical to GetTickCount(), so we may as well just delegate directly to the system clock. Signed-off-by: 's avatarZebediah Figura <z.figura12@gmail.com> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent 3f2b813d
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment