• Zebediah Figura's avatar
    quartz/dsoundrender: Delegate IReferenceClock to the system clock. · 63a6b308
    Zebediah Figura authored
    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>
    63a6b308
Name
Last commit
Last update
dlls Loading commit data...
documentation Loading commit data...
fonts Loading commit data...
include Loading commit data...
libs Loading commit data...
loader Loading commit data...
po Loading commit data...
programs Loading commit data...
server Loading commit data...
tools Loading commit data...
.editorconfig Loading commit data...
.mailmap Loading commit data...
ANNOUNCE Loading commit data...
AUTHORS Loading commit data...
COPYING.LIB Loading commit data...
LICENSE Loading commit data...
LICENSE.OLD Loading commit data...
MAINTAINERS Loading commit data...
Makefile.in Loading commit data...
README Loading commit data...
VERSION Loading commit data...
aclocal.m4 Loading commit data...
configure Loading commit data...
configure.ac Loading commit data...