volume = pa_sw_volume_from_linear(volume_linear) * individual_ratio;
result = pa_cvolume_set(result, channels, volume);
result_linear = pa_sw_volume_to_linear(volume);
+ stream_type = is_sink_input ? STREAM_SINK_INPUT : STREAM_SOURCE_OUTPUT;
+ index = GET_STREAM_INDEX(stream, stream_type);
pa_log_info("apply the individual ratio[%f] to stream[idx:%u], result volume linear[%f]",
- individual_ratio, index, result_linear);
+ individual_ratio, index, result_linear);
/* Here's calculation before calling HAL API */
- stream_type = is_sink_input ? STREAM_SINK_INPUT : STREAM_SOURCE_OUTPUT;
if (!(volume_type = pa_proplist_gets(GET_STREAM_PROPLIST(stream, stream_type), PA_PROP_MEDIA_TIZEN_VOLUME_TYPE))) {
pa_log_error("no volume type");
return;
pa_log_debug("role(%s), volume_type(%s) : master_ratio(%f), group_ratio(%f), individual_ratio(%f) => result_ratio(%f)",
role, volume_type, master_ratio, group_ratio, individual_ratio, result_ratio);
- index = GET_STREAM_INDEX(stream, stream_type);
io_direction = is_sink_input ? DIRECTION_OUT : DIRECTION_IN;
pa_hal_interface_set_volume_ratio(m->hal, role, io_direction, index, result_ratio);