aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main.cpp8
-rw-r--r--src/sound.cpp6
2 files changed, 8 insertions, 6 deletions
diff --git a/src/main.cpp b/src/main.cpp
index c716e47..9c6878a 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -2417,7 +2417,7 @@ int main(int argc, char **argv) {
while(running) {
void *sound_buffer;
int sound_buffer_size = -1;
- const double time_before_read_seconds = clock_get_monotonic_seconds();
+ //const double time_before_read_seconds = clock_get_monotonic_seconds();
if(audio_device.sound_device.handle) {
// TODO: use this instead of calculating time to read. But this can fluctuate and we dont want to go back in time
double latency_seconds = 0.0;
@@ -2425,9 +2425,9 @@ int main(int argc, char **argv) {
}
const bool got_audio_data = sound_buffer_size >= 0;
- const double time_after_read_seconds = clock_get_monotonic_seconds();
- const double time_to_read_seconds = time_after_read_seconds - time_before_read_seconds;
- const double this_audio_frame_time = time_after_read_seconds - paused_time_offset - time_to_read_seconds;
+ //const double time_after_read_seconds = clock_get_monotonic_seconds();
+ //const double time_to_read_seconds = time_after_read_seconds - time_before_read_seconds;
+ const double this_audio_frame_time = clock_get_monotonic_seconds() - paused_time_offset;
if(paused) {
if(got_audio_data)
diff --git a/src/sound.cpp b/src/sound.cpp
index 25f1080..53000bd 100644
--- a/src/sound.cpp
+++ b/src/sound.cpp
@@ -199,11 +199,13 @@ static int pa_sound_device_read(pa_handle *p, double timeout_seconds) {
continue;
}
+ pa_operation_unref(pa_stream_update_timing_info(p->stream, NULL, NULL));
+ // TODO: Deal with one pa_stream_peek not being enough. In that case we need to add multiple of these together(?)
if(pa_stream_get_latency(p->stream, &latency, &negative) >= 0) {
- p->latency_seconds = negative ? -(int64_t)latency : latency;
- p->latency_seconds *= 0.0000001;
+ p->latency_seconds = negative ? -(double)latency : latency;
if(p->latency_seconds < 0.0)
p->latency_seconds = 0.0;
+ p->latency_seconds *= 0.0000001;
}
}