From 02ea6f4823191ec6d4b12ac6c0ee75e263a45b39 Mon Sep 17 00:00:00 2001 From: Julien BLACHE Date: Sat, 4 Dec 2010 16:15:49 +0100 Subject: [PATCH] Downgrade volume computations to float (from double) Although we lose precision, this is still enough for computing relative, absolute and RAOP volume and will make a difference on embedded CPUs. --- src/player.c | 8 ++++---- src/raop.c | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/player.c b/src/player.c index 84e9fe51..50f19958 100644 --- a/src/player.c +++ b/src/player.c @@ -257,12 +257,12 @@ status_update(enum play_status status) static int rel_to_vol(int relvol) { - double vol; + float vol; if (relvol == 100) return master_volume; - vol = ((double)relvol * (double)master_volume) / 100.0; + vol = ((float)relvol * (float)master_volume) / 100.0; return (int)vol; } @@ -270,12 +270,12 @@ rel_to_vol(int relvol) static int vol_to_rel(int volume) { - double rel; + float rel; if (volume == master_volume) return 100; - rel = ((double)volume / (double)master_volume) * 100.0; + rel = ((float)volume / (float)master_volume) * 100.0; return (int)rel; } diff --git a/src/raop.c b/src/raop.c index 4c8ea103..6a44786d 100644 --- a/src/raop.c +++ b/src/raop.c @@ -1667,10 +1667,10 @@ raop_session_failure_cb(struct evrtsp_request *req, void *arg) /* Volume handling */ -static double +static float raop_volume_convert(int volume) { - double raop_volume; + float raop_volume; /* RAOP volume * -144.0 is off @@ -1681,7 +1681,7 @@ raop_volume_convert(int volume) if (volume == 0) raop_volume = 144.0; else - raop_volume = 30.0 - ((double)volume * 30.0) / 100.0; + raop_volume = 30.0 - ((float)volume * 30.0) / 100.0; return raop_volume; } @@ -1690,7 +1690,7 @@ static int raop_set_volume_internal(struct raop_session *rs, int volume, evrtsp_req_cb cb) { struct evbuffer *evbuf; - double raop_volume; + float raop_volume; int ret; evbuf = evbuffer_new();