X-Git-Url: https://code.delx.au/pulseaudio/blobdiff_plain/7e53f902cc20b817dc9595276823a079c977d1e6..6b82c6122bc8e6907a15036a8f16b30f380ac459:/src/modules/module-combine-sink.c diff --git a/src/modules/module-combine-sink.c b/src/modules/module-combine-sink.c index 9b71cfbc..deabcebb 100644 --- a/src/modules/module-combine-sink.c +++ b/src/modules/module-combine-sink.c @@ -216,11 +216,13 @@ static void adjust_rates(struct userdata *u) { PA_IDXSET_FOREACH(o, u->outputs, idx) { uint32_t new_rate = base_rate; - uint32_t current_rate = o->sink_input->sample_spec.rate; + uint32_t current_rate; if (!o->sink_input || !PA_SINK_IS_OPENED(pa_sink_get_state(o->sink))) continue; + current_rate = o->sink_input->sample_spec.rate; + if (o->total_latency != target_latency) new_rate += (uint32_t) (((double) o->total_latency - (double) target_latency) / (double) u->adjust_time * (double) new_rate);