summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Albers <daniel@lbe.rs>2014-01-16 10:00:42 +0100
committerTanu Kaskinen <tanu.kaskinen@linux.intel.com>2014-01-17 12:21:39 +0200
commit6b82c6122bc8e6907a15036a8f16b30f380ac459 (patch)
treecd2b595e93bf22f3b99458cb9de3bab47d449c49
parent7e53f902cc20b817dc9595276823a079c977d1e6 (diff)
combine-sink: fix segfault
-rw-r--r--src/modules/module-combine-sink.c4
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);