summaryrefslogtreecommitdiff
path: root/src/sink.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sink.c')
-rw-r--r--src/sink.c37
1 files changed, 18 insertions, 19 deletions
diff --git a/src/sink.c b/src/sink.c
index a0283eb..8da3048 100644
--- a/src/sink.c
+++ b/src/sink.c
@@ -1,29 +1,16 @@
-#include <stdio.h>
#include <glib.h>
-#include <pulse/pulseaudio.h>
-#include <ncurses.h>
-#include <string.h>
-#include <stdlib.h>
#include "sink_input.h"
#include "sink.h"
extern GArray *sink_list;
-sink_info *sink_list_get(int index) {
- return &g_array_index(sink_list, sink_info, index);
-}
-
-sink_input_info *sink_input_get(int sink_list_index, int index) {
- return &g_array_index(sink_list_get(sink_list_index)->input_list, sink_input_info, index);
-}
-
/*
* init a sink list
*/
GArray *sink_list_alloc(void)
{
- return g_array_sized_new(false, false, sizeof(sink_info), 16);
+ return g_array_sized_new(FALSE, FALSE, sizeof(sink_info), 16);
}
/*
@@ -31,10 +18,8 @@ GArray *sink_list_alloc(void)
*/
static void sink_clear(sink_info* sink)
{
- if (sink->name != NULL)
- free(sink->name);
- if (sink->device != NULL)
- free(sink->device);
+ g_free(sink->name);
+ g_free(sink->device);
sink_input_list_free(sink->input_list);
}
@@ -45,7 +30,21 @@ void sink_list_free(GArray *sink_list)
{
for (int i = 0; i < sink_list->len; ++i)
sink_clear(&g_array_index(sink_list, sink_info, i));
- g_array_free(sink_list, true);
+ g_array_free(sink_list, TRUE);
}
+/*
+ * get sink at index from sink_list
+ */
+sink_info *sink_list_get(gint index)
+{
+ return &g_array_index(sink_list, sink_info, index);
+}
+/*
+ * get an input association to an sink by their indizes
+ */
+sink_input_info *sink_input_get(gint sink_list_index, gint index)
+{
+ return &g_array_index(sink_list_get(sink_list_index)->input_list, sink_input_info, index);
+}