When device timing is used, it shouldn't be modifying the timestamp. Fixes an issue where certain devices with large audio segments would seem a bit out of sync.
@@ -421,8 +421,9 @@ bool WASAPISource::ProcessCaptureData()
data.timestamp = useDeviceTiming ?
ts*100 : os_gettime_ns();
- data.timestamp -= (uint64_t)frames * 1000000000ULL /
- (uint64_t)sampleRate;
+ if (!useDeviceTiming)
+ data.timestamp -= (uint64_t)frames * 1000000000ULL /
+ (uint64_t)sampleRate;
obs_source_output_audio(source, &data);