diff options
Diffstat (limited to 'src/libsink')
| -rw-r--r-- | src/libsink/sink.c | 7 | ||||
| -rw-r--r-- | src/libsink/sink.h | 1 |
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); |