PulseAudio: Remove get_latency() caching

This commit is contained in:
Luke Hubmayer-Werner
2021-01-13 17:50:56 +10:30
parent b776cf5498
commit d90626f583
3 changed files with 14 additions and 17 deletions

View File

@ -353,27 +353,24 @@ Error AudioDriverPulseAudio::init() {
}
float AudioDriverPulseAudio::get_latency() {
if (latency == 0) { //only do this once since it's approximate anyway
lock();
lock();
pa_usec_t palat = 0;
if (pa_stream_get_state(pa_str) == PA_STREAM_READY) {
int negative = 0;
pa_usec_t pa_lat = 0;
if (pa_stream_get_state(pa_str) == PA_STREAM_READY) {
int negative = 0;
if (pa_stream_get_latency(pa_str, &palat, &negative) >= 0) {
if (negative) {
palat = 0;
}
if (pa_stream_get_latency(pa_str, &pa_lat, &negative) >= 0) {
if (negative) {
pa_lat = 0;
}
}
if (palat > 0) {
latency = double(palat) / 1000000.0;
}
unlock();
}
if (pa_lat > 0) {
latency = double(pa_lat) / 1000000.0;
}
unlock();
return latency;
}