Pārlūkot izejas kodu

win-wasapi: Fix timestamp calculation

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.
jp9000 8 gadi atpakaļ
vecāks
revīzija
fc61e6ed69
1 mainītis faili ar 3 papildinājumiem un 2 dzēšanām
  1. 3 2
      plugins/win-wasapi/win-wasapi.cpp

+ 3 - 2
plugins/win-wasapi/win-wasapi.cpp

@@ -421,8 +421,9 @@ bool WASAPISource::ProcessCaptureData()
 		data.timestamp        = useDeviceTiming ?
 		data.timestamp        = useDeviceTiming ?
 			ts*100 : os_gettime_ns();
 			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);
 		obs_source_output_audio(source, &data);