Sweden-Number/dlls/quartz
Zebediah Figura 63a6b308e9 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: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-29 08:23:32 +01:00
..
tests quartz/systemclock: Support COM aggregation. 2019-11-29 08:23:10 +01:00
Makefile.in quartz: Use strmbase_dump_media_type() where appropriate. 2019-10-07 10:00:46 +02:00
acmwrapper.c quartz/acmwrapper: Don't drop the "csReceive" mutex while calling IMemInputPin::Receive(). 2019-11-25 20:47:43 +01:00
avidec.c quartz/avidec: Don't drop the "csReceive" mutex while calling IMemInputPin::Receive(). 2019-11-26 22:49:03 +01:00
control_tlb.idl
dsoundrender.c quartz/dsoundrender: Delegate IReferenceClock to the system clock. 2019-11-29 08:23:32 +01:00
enummoniker.c
enumregfilters.c strmbase: Build with msvcrt. 2019-08-05 18:49:31 +02:00
filesource.c strmbase: Return a strmbase_pin pointer from the filter_get_pin() callback. 2019-11-25 20:47:43 +01:00
filtergraph.c quartz/filtergraph: Clarify stream time tracking. 2019-10-22 23:04:27 +02:00
filtermapper.c strmbase: Build with msvcrt. 2019-08-05 18:49:31 +02:00
main.c quartz/dsoundrender: Move DSoundRender_create() to avoid forward declarations. 2019-11-29 08:23:16 +01:00
memallocator.c quartz/memallocator: Set the AM_SAMPLE_TYPECHANGED flag. 2019-06-25 08:29:32 +02:00
quartz.rc quartz: Convert media type registration to IRegistrar mechanism. 2019-04-29 09:37:00 +02:00
quartz.rgs quartz: Convert media type registration to IRegistrar mechanism. 2019-04-29 09:37:00 +02:00
quartz.spec
quartz_private.h quartz/dsoundrender: Move DSoundRender_create() to avoid forward declarations. 2019-11-29 08:23:16 +01:00
quartz_strmif.idl winegstreamer: Reimplement the MPEG splitter on top of the mpegaudioparse plugin. 2019-09-23 10:10:04 +02:00
regsvr.c winegstreamer: Reimplement the MPEG splitter on top of the mpegaudioparse plugin. 2019-09-23 10:10:04 +02:00
systemclock.c quartz/systemclock: Support COM aggregation. 2019-11-29 08:23:10 +01:00
videorenderer.c quartz/videorenderer: Wait in Receive() while paused. 2019-11-22 09:03:46 +01:00
vmr9.c quartz/vmr9: Wait in Receive() while paused. 2019-11-22 09:03:49 +01:00