diff options
author | Daniel Albers <daniel@lbe.rs> | 2014-01-16 10:00:42 +0100 |
---|---|---|
committer | Tanu Kaskinen <tanu.kaskinen@linux.intel.com> | 2014-01-17 12:21:39 +0200 |
commit | 6b82c6122bc8e6907a15036a8f16b30f380ac459 (patch) | |
tree | cd2b595e93bf22f3b99458cb9de3bab47d449c49 | |
parent | 7e53f902cc20b817dc9595276823a079c977d1e6 (diff) |
combine-sink: fix segfault
-rw-r--r-- | src/modules/module-combine-sink.c | 4 |
1 files changed, 3 insertions, 1 deletions
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); |