Use GetGlobalTimeNs as opposed to clock ticks
This commit is contained in:
		| @@ -252,8 +252,7 @@ void SinkStream::ProcessAudioOutAndRender(std::span<s16> output_buffer, std::siz | |||||||
|  |  | ||||||
|     { |     { | ||||||
|         std::scoped_lock lk{sample_count_lock}; |         std::scoped_lock lk{sample_count_lock}; | ||||||
|         last_sample_count_update_time = |         last_sample_count_update_time = system.CoreTiming().GetGlobalTimeNs(); | ||||||
|             Core::Timing::CyclesToUs(system.CoreTiming().GetClockTicks()); |  | ||||||
|         min_played_sample_count = max_played_sample_count; |         min_played_sample_count = max_played_sample_count; | ||||||
|         max_played_sample_count += actual_frames_written; |         max_played_sample_count += actual_frames_written; | ||||||
|     } |     } | ||||||
| @@ -261,7 +260,7 @@ void SinkStream::ProcessAudioOutAndRender(std::span<s16> output_buffer, std::siz | |||||||
|  |  | ||||||
| u64 SinkStream::GetExpectedPlayedSampleCount() { | u64 SinkStream::GetExpectedPlayedSampleCount() { | ||||||
|     std::scoped_lock lk{sample_count_lock}; |     std::scoped_lock lk{sample_count_lock}; | ||||||
|     auto cur_time{Core::Timing::CyclesToUs(system.CoreTiming().GetClockTicks())}; |     auto cur_time{system.CoreTiming().GetGlobalTimeNs()}; | ||||||
|     auto time_delta{cur_time - last_sample_count_update_time}; |     auto time_delta{cur_time - last_sample_count_update_time}; | ||||||
|     auto exp_played_sample_count{min_played_sample_count + |     auto exp_played_sample_count{min_played_sample_count + | ||||||
|                                  (TargetSampleRate * time_delta) / std::chrono::seconds{1}}; |                                  (TargetSampleRate * time_delta) / std::chrono::seconds{1}}; | ||||||
|   | |||||||
| @@ -246,7 +246,7 @@ private: | |||||||
|     /// Maximum number of total samples that can be played since the last callback |     /// Maximum number of total samples that can be played since the last callback | ||||||
|     u64 max_played_sample_count{}; |     u64 max_played_sample_count{}; | ||||||
|     /// The time the two above tracking variables were last written to |     /// The time the two above tracking variables were last written to | ||||||
|     std::chrono::microseconds last_sample_count_update_time{}; |     std::chrono::nanoseconds last_sample_count_update_time{}; | ||||||
|     /// Set by the audio render/in/out system which uses this stream |     /// Set by the audio render/in/out system which uses this stream | ||||||
|     f32 system_volume{1.0f}; |     f32 system_volume{1.0f}; | ||||||
|     /// Set via IAudioDevice service calls |     /// Set via IAudioDevice service calls | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Billy Laws
					Billy Laws