Lines Matching refs:nc
2747 pa_source_volume_change *nc = NULL;
2754 nc = pa_source_volume_change_new(s);
2759 pa_sw_cvolume_divide(&nc->hw_volume, &s->real_volume, &s->soft_volume);
2761 if (!s->thread_info.volume_changes && pa_cvolume_equal(&nc->hw_volume, &s->thread_info.current_hw_volume)) {
2763 pa_source_volume_change_free(nc);
2767 nc->at = pa_source_get_latency_within_thread(s, false);
2768 nc->at += pa_rtclock_now() + s->thread_info.volume_change_extra_delay;
2774 if (pa_cvolume_avg(&nc->hw_volume) > pa_cvolume_avg(&c->hw_volume)) {
2775 if (nc->at + safety_margin > c->at) {
2776 nc->at += safety_margin;
2781 else if (nc->at - safety_margin > c->at) {
2782 nc->at -= safety_margin;
2790 if (pa_cvolume_avg(&nc->hw_volume) > pa_cvolume_avg(&s->thread_info.current_hw_volume)) {
2791 nc->at += safety_margin;
2794 nc->at -= safety_margin;
2797 PA_LLIST_PREPEND(pa_source_volume_change, s->thread_info.volume_changes, nc);
2800 PA_LLIST_INSERT_AFTER(pa_source_volume_change, s->thread_info.volume_changes, c, nc);
2803 pa_log_debug("Volume going %s to %d at %llu", direction, pa_cvolume_avg(&nc->hw_volume), (long long unsigned) nc->at);
2806 PA_LLIST_FOREACH_SAFE(c, pc, nc->next) {
2810 nc->next = NULL;
2811 s->thread_info.volume_changes_tail = nc;