summaryrefslogtreecommitdiff
path: root/src/pulse.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/pulse.c')
-rw-r--r--src/pulse.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/pulse.c b/src/pulse.c
index b733f98..fff4814 100644
--- a/src/pulse.c
+++ b/src/pulse.c
@@ -122,13 +122,14 @@ static void store_info_from_sink_cb(pa_context *c,
int avg_vol = pa_cvolume_avg(&info->volume);
int vol_perc = roundf((float)avg_vol * 100 / PA_VOLUME_NORM);
int composed_volume = COMPOSE_VOLUME_MUTE(vol_perc, info->mute);
+ const char *desc = (info->active_port != NULL) ? info->active_port->description : info->description;
/* if this is the default sink we must try to save it twice: once with
* DEFAULT_SINK_INDEX as the index, and another with its proper value
* (using bitwise OR to avoid early-out logic) */
if ((info->index == default_sink_idx &&
- save_info(DEFAULT_SINK_INDEX, composed_volume, info->description, NULL)) |
- save_info(info->index, composed_volume, info->description, info->name)) {
+ save_info(DEFAULT_SINK_INDEX, composed_volume, desc, NULL)) |
+ save_info(info->index, composed_volume, desc, info->name)) {
/* if the volume, mute flag or description changed, wake the main thread */
pthread_kill(main_thread, SIGUSR1);
}