diff options
author | Jan Klemkow <web2p10@wemelug.de> | 2010-07-09 00:55:02 +0200 |
---|---|---|
committer | Jan Klemkow <web2p10@wemelug.de> | 2010-07-09 00:55:02 +0200 |
commit | 21b1027832ff5e53edc37dd9f5c153217a65b6fd (patch) | |
tree | 156d666ade9380434ecae73f9bd02fe71e2d2caf /pa-sink-ctl.c | |
parent | 83a220ec9b1fe7e706478bc1604fe8741be649a2 (diff) | |
download | pa-sink-ctl-21b1027832ff5e53edc37dd9f5c153217a65b6fd.tar.gz pa-sink-ctl-21b1027832ff5e53edc37dd9f5c153217a65b6fd.tar.bz2 pa-sink-ctl-21b1027832ff5e53edc37dd9f5c153217a65b6fd.zip |
wip: cleanup sink & co.
Diffstat (limited to 'pa-sink-ctl.c')
-rw-r--r-- | pa-sink-ctl.c | 40 |
1 files changed, 14 insertions, 26 deletions
diff --git a/pa-sink-ctl.c b/pa-sink-ctl.c index b024d60..2370505 100644 --- a/pa-sink-ctl.c +++ b/pa-sink-ctl.c @@ -18,10 +18,6 @@ sink_info** sink_list = NULL; int sink_counter; uint32_t sink_max; -sink_input_info** sink_input_list = NULL; -int sink_input_counter; -int sink_input_max; - pa_mainloop_api *mainloop_api = NULL; pa_context *context = NULL; @@ -33,14 +29,9 @@ int starty; int main(int argc, char** argv) { - // pulseaudio - sink_input_counter = 0; - sink_input_max = 1; - sink_input_list = (sink_input_info**) calloc(sink_input_max, sizeof(sink_input_info*)); - sink_counter = 0; sink_max = 1; - sink_list = (sink_info**) calloc(sink_max, sizeof(sink_info*)); + sink_list = sink_list_init(sink_max); // ncurses chooser = 0; @@ -146,7 +137,7 @@ void get_sink_input_info_callback(pa_context *c, const pa_sink_input_info *i, in if (is_last) { print_sinks(); - get_input(); + get_input(); return; } @@ -171,25 +162,22 @@ void get_sink_input_info_callback(pa_context *c, const pa_sink_input_info *i, in pa_proplist_gets(i->proplist, "application.process.id")); */ - const char *name = pa_proplist_gets(i->proplist, "application.name"); +// const char *name = pa_proplist_gets(i->proplist, "application.name"); -// if (i->sink > sink_max) -// sink_max = i->sink; + int sink_num = i->sink; + int counter = sink_list[sink_num]->input_counter; - ++sink_input_counter; - - if (sink_input_counter >= sink_input_max) { - sink_input_max*=2; - sink_input_list = (sink_input_info**) realloc(sink_input_list, sizeof(sink_input_info*) * sink_input_max); - } + // check the length of the list + sink_check_list(sink_list[sink_num]); + // check the current element of the list + sink_input_check(&(sink_list[ sink_num ]->input_list[ counter ])); + sink_input_info* input = sink_list[sink_num]->input_list[counter]; - sink_input_list[sink_input_counter-1] = (sink_input_info*) calloc(1, sizeof(sink_input_info)); - sink_input_list[sink_input_counter-1]->name = (char*) calloc(strlen(name) + 1, sizeof(char)); + input->name = strdup(pa_proplist_gets(i->proplist, "application.name")); + input->index = i->index; + input->vol = pa_cvolume_avg(&i->volume); - sink_input_list[sink_input_counter-1]->index = i->index; - sink_input_list[sink_input_counter-1]->sink = i->sink; - strncpy(sink_input_list[sink_input_counter-1]->name, name, strlen(name)); - sink_input_list[sink_input_counter-1]->vol = pa_cvolume_avg(&i->volume); + ++sink_list[sink_num]->input_counter; } void quit(void) |