Tanu, I have modified code like this in module-combine-sink.c after exchanging idea with you. In function sink_input_pop_cb(): add these lines before calling request_memblock() ... if (o->just_attached) { pa_usec_t sink_input_latency, sink_latency, total_latency1, total_latency2; struct output *j; sink_input_latency = pa_sink_input_get_latency_within_thread(i, &sink_latency); sink_input_latency += sink_latency; total_latency1 = sink_input_latency + pa_bytes_to_usec(pa_memblockq_get_length(o->memblockq), &o->sink_input->sample_spec); pa_log_warn("[%s] latency %0.2fms, output buffer latency %0.2fms.", o->sink_input->sink->name, (double)total_latency1/PA_USEC_PER_MSEC, (double)(total_latency1-sink_input_latency)/PA_USEC_PER_MSEC); /* OK, let's send this data to the other threads */ PA_LLIST_FOREACH(j, o->userdata->thread_info.active_outputs) { if (j != o) { sink_input_latency = pa_sink_input_get_latency_within_thread(j->sink_input, &sink_latency); sink_input_latency += sink_latency; total_latency2 = sink_input_latency + pa_bytes_to_usec(pa_memblockq_get_length(j->memblockq), &j->sink_input->sample_spec); pa_log_warn("Peer: [%s] latency %0.2fms, output buffer latency %0.2fms.", j->sink_input->sink->name, (double)total_latency2/PA_USEC_PER_MSEC, (double)(total_latency2-sink_input_latency)/PA_USEC_PER_MSEC); if (total_latency1 > total_latency2) pa_memblockq_drop(o->memblockq, pa_usec_to_bytes(total_latency1-total_latency2, &o->sink_input->sample_spec)); else if (total_latency1 < total_latency2) pa_memblockq_rewind(o->memblockq, pa_usec_to_bytes(total_latency2-total_latency1, &o->sink_input->sample_spec)); break; } } o->just_attached = 0; } In function sink_input_attach_cb(): add o->just_attached = 1; In function sink_input_detach_cb(): add o->just_attached = 0; Then I got following logs when playing audio. Of course un-synchronization issue is still there. W: [module-tunnel] module-combine-sink.c: [tunnel_sink] attached W: [module-tunnel] module-combine-sink.c: [tunnel_sink] latency 0.00ms, output buffer latency 0.00ms. W: [alsa-sink] module-combine-sink.c: [alsa_output] attached W: [alsa-sink] module-combine-sink.c: [alsa_output] latency 0.88ms, output buffer latency 0.00ms. W: [alsa-sink] module-combine-sink.c: Peer: [tunnel_sink] latency 0.00ms, output buffer latency 0.00ms. W: [pulseaudio] module-combine-sink.c: [alsa_output] sample rates too different, not adjusting (44100 vs. 33380). W: [pulseaudio] module-combine-sink.c: [alsa_output] sample rates too different, not adjusting (44100 vs. 28907). W: [pulseaudio] module-combine-sink.c: [alsa_output] sample rates too different, not adjusting (44100 vs. 31788).