summaryrefslogtreecommitdiff
path: root/src/libsink
diff options
context:
space:
mode:
Diffstat (limited to 'src/libsink')
-rw-r--r--src/libsink/sink.c7
-rw-r--r--src/libsink/sink.h1
2 files changed, 7 insertions, 1 deletions
diff --git a/src/libsink/sink.c b/src/libsink/sink.c
index ee2b216..894dc40 100644
--- a/src/libsink/sink.c
+++ b/src/libsink/sink.c
@@ -1051,6 +1051,7 @@ static void connection_callback(void *userdata, struct aki_rpc_connection *conn)
{
struct camu_sink *sink = (struct camu_sink *)userdata;
sink->conn = conn;
+ aki_timer_stop(&sink->reconnect_timer);
struct aki_packet *packet = aki_rpc_get_packet(&sink->client, CAMU_SERVER_IDENTIFY);
aki_packet_write_u8(packet, CAMU_SINK);
aki_packet_write_str(packet, &sink->name);
@@ -1062,7 +1063,6 @@ static void reconnect_timer_callback(void *userdata, struct aki_timer *timer)
struct camu_sink *sink = (struct camu_sink *)userdata;
(void)timer;
aki_rpc_reconnect(&sink->client, &sink->addr, sink->port);
- aki_timer_stop(&sink->reconnect_timer);
}
static void connection_closed_callback(void *userdata, struct aki_rpc_connection *conn)
@@ -1165,6 +1165,11 @@ void camu_sink_reseek(struct camu_sink *sink)
});
}
+void camu_sink_offset_volume(struct camu_sink *sink, f64 amount)
+{
+ camu_mixer_offset_volume(sink->audio.mixer, amount);
+}
+
void camu_sink_stop(struct camu_sink *sink)
{
aki_mutex_lock(&sink->mutex);
diff --git a/src/libsink/sink.h b/src/libsink/sink.h
index 0b55ad6..5feadf5 100644
--- a/src/libsink/sink.h
+++ b/src/libsink/sink.h
@@ -112,6 +112,7 @@ void camu_sink_shuffle(struct camu_sink *sink);
void camu_sink_toggle_pause(struct camu_sink *sink);
void camu_sink_seek(struct camu_sink *sink, f64 pos);
void camu_sink_reseek(struct camu_sink *sink);
+void camu_sink_offset_volume(struct camu_sink *sink, f64 amount);
void camu_sink_stop(struct camu_sink *sink);
void camu_sink_close(struct camu_sink *sink);
void camu_sink_free(struct camu_sink *sink);