gstreamer/sys/wasapi
Nirbheek Chauhan 6d27c0ac08 wasapisrc: Fix glitching and clock skew issues
We were miscalculating the device period, i.e. the number of frames
we'll get from WASAPI in each IAudioClient::GetBuffer call, due to
a calculation mistake (truncate instead of round).

For example, on my machine when the aux input is set to 44.1KHz, the
reported device period is 101587, which comes out to 447.998 frames
per ::GetBuffer call. In reality we will, of course, get 448 frames
per call, but we were truncating, so we expected 447 and were
discarding one frame every time. This led to glitching, and skew over
time.

Interestingly, I can only see this with 44.1Khz. 48Khz/96Khz are fine,
because the device period is a more 'even' number.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/806
2019-11-28 08:59:41 +00:00
..
gstaudioclient3.h wasapi: Fix build with Windows 8.1 SDK 2018-08-08 01:03:53 +05:30
gstwasapi.c wasapi: Increase rank to prefer over directsoundsrc 2018-03-01 15:33:18 +05:30
gstwasapidevice.c wasapi: Don't cast GstDeviceProvider to GstElement 2019-10-14 14:43:59 +00:00
gstwasapidevice.h wasapi: Fix indentation issues missed by the commit hook 2018-02-08 11:46:01 +05:30
gstwasapisink.c documentation: fixed a heap o' typos 2019-11-05 09:11:25 -05:00
gstwasapisink.h wasapi: Remove code that sets thread priority 2018-09-11 01:00:21 +05:30
gstwasapisrc.c wasapi: minor cleanup 2019-11-06 08:18:59 +00:00
gstwasapisrc.h Fixed segtotal value being always 2 due to an unused variable 2019-04-30 21:25:12 -03:00
gstwasapiutil.c wasapisrc: Fix glitching and clock skew issues 2019-11-28 08:59:41 +00:00
gstwasapiutil.h wasapi: Don't cast GstDeviceProvider to GstElement 2019-10-14 14:43:59 +00:00
meson.build docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00