On 09.03.2017 05:36, Arun Raghavan wrote: > Not sure how this weird not-really-a-percent-symbol turned up. > --- > src/modules/module-combine-sink.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/src/modules/module-combine-sink.c b/src/modules/module-combine-sink.c > index 71d1fba..1aad234 100644 > --- a/src/modules/module-combine-sink.c > +++ b/src/modules/module-combine-sink.c > @@ -252,9 +252,9 @@ static void adjust_rates(struct userdata *u) { > } else { > if (base_rate < new_rate + 20 && new_rate < base_rate + 20) > new_rate = base_rate; > - /* Do the adjustment in small steps; 2â?° can be considered inaudible */ > + /* Do the adjustment in small steps; 2% can be considered inaudible */ > if (new_rate < (uint32_t) (current_rate*0.998) || new_rate > (uint32_t) (current_rate*1.002)) { > - pa_log_info("[%s] new rate of %u Hz not within 2â?° of %u Hz, forcing smaller adjustment", o->sink_input->sink->name, new_rate, current_rate); > + pa_log_info("[%s] new rate of %u Hz not within 2% of %u Hz, forcing smaller adjustment", o->sink_input->sink->name, new_rate, current_rate); > new_rate = PA_CLAMP(new_rate, (uint32_t) (current_rate*0.998), (uint32_t) (current_rate*1.002)); > } > pa_log_info("[%s] new rate is %u Hz; ratio is %0.3f; latency is %0.2f msec.", o->sink_input->sink->name, new_rate, (double) new_rate / base_rate, (double) o->total_latency / PA_USEC_PER_MSEC); This was correct, it is really per mill and not percent, see the factors in the estimation of new_rate and it is the correct symbol for per mill.