While investigating a bug[1], I found several bugs in the rate update code related to monitor sources. This should make things work properly for non-passthrough streams. Things are probably still broken for passthrough streams, but that's a complex topic that I don't want to spend time on at the moment. [1] https://bugs.freedesktop.org/show_bug.cgi?id=66424 Tanu Kaskinen (8): sink, source: Reduce indentation level in *_update_rate() source: Fix monitor source rate changing sink, source: Don't care about default and alternate rate in passthrough mode sink, source: Fix default and alternate rate assertions sink, source: Small readability improvement sink, source: Return early from pa_*_update_rate(), if there's no need to do anything source: Don't update the monitor source rate, if the sink is running source: When updating a monitor source's rate, update the sink rate too src/pulsecore/sink.c | 122 +++++++++++++++++++++++---------------------- src/pulsecore/source.c | 131 +++++++++++++++++++++++++++++++------------------ 2 files changed, 146 insertions(+), 107 deletions(-) -- 1.8.1.2