/*** Sink input ***/ static void sink_input_info_cb(pa_context *ctx, const pa_sink_input_info *i, int eol, void *userdata) { audio_output_t *aout = userdata; aout_sys_t *sys = aout->sys; if (eol) return; (void) ctx; sys->cvolume = i->volume; /* cache volume for balance preservation */ VolumeReport(aout); aout_MuteReport(aout, i->mute); }
/*** Sink input ***/ static void sink_input_info_cb(pa_context *ctx, const pa_sink_input_info *i, int eol, void *userdata) { audio_output_t *aout = userdata; aout_sys_t *sys = aout->sys; if (eol) return; (void) ctx; sys->cvolume = i->volume; /* cache volume for balance preservation */ pa_volume_t volume = pa_cvolume_max(&i->volume); volume = pa_sw_volume_divide(volume, sys->base_volume); aout_VolumeReport(aout, (float)volume / PA_VOLUME_NORM); aout_MuteReport(aout, i->mute); }