diff options
-rw-r--r-- | src/interface.c | 2 | ||||
-rw-r--r-- | src/pa-sink-ctl.c | 2 | ||||
-rw-r--r-- | src/sink.c | 4 | ||||
-rw-r--r-- | src/sink.h | 1 |
4 files changed, 8 insertions, 1 deletions
diff --git a/src/interface.c b/src/interface.c index b690acd..75c2e4e 100644 --- a/src/interface.c +++ b/src/interface.c @@ -80,7 +80,7 @@ void print_sink_list(void) { mvwprintw(menu_win, y+i+offset, x, "%2d %-13s", sink_list[i]->index, - sink_list[i]->name); + sink_list[i]->device); if (i == chooser_sink && chooser_input == -1) wattroff(menu_win, A_REVERSE); diff --git a/src/pa-sink-ctl.c b/src/pa-sink-ctl.c index 164755b..e70c144 100644 --- a/src/pa-sink-ctl.c +++ b/src/pa-sink-ctl.c @@ -114,6 +114,8 @@ void get_sink_info_callback(pa_context *c, const pa_sink_info *i, int is_last, v sink_list[sink_counter]->vol = pa_cvolume_avg(&i->volume); sink_list[sink_counter]->channels = i->volume.channels; sink_list[sink_counter]->name = strdup(i->name); + sink_list[sink_counter]->device = strdup(pa_proplist_gets(i->proplist, "device.product.name")); + ++sink_counter; } @@ -15,6 +15,7 @@ sink_info* sink_init(void) { sink_info* sink = (sink_info*) calloc(1, sizeof(sink_info)); sink->name = NULL; + sink->device = NULL; sink->input_counter = 0; sink->input_max = 1; sink->input_list = NULL; @@ -31,6 +32,9 @@ void sink_clear(sink_info* sink) { if (sink->name != NULL) free(sink->name); + + if (sink->device != NULL) + free(sink->device); sink_input_list_clear(sink->input_list, &sink->input_max); @@ -12,6 +12,7 @@ typedef struct _sink_info { uint32_t index; char* name; + char* device; int mute; uint8_t channels; pa_volume_t vol; |