aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2008-08-26 08:27:09 +0200
committerMax Kellermann <max@duempel.org>2008-08-26 08:27:09 +0200
commit2650b9eb318a9eec0c45757624debf363aa156f9 (patch)
tree244afbf2e28d80a1f33e27e49bb3173ba448d8db
parent0aedf7dd5a3f72a1c541085c513d2b85bc3bff58 (diff)
added inline function audio_format_time_to_size()
Make the code more readable by hiding big formulas in an inline function with a nice name.
-rw-r--r--src/audio_format.h5
-rw-r--r--src/decode.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/src/audio_format.h b/src/audio_format.h
index ba22b3bf..a6e97e04 100644
--- a/src/audio_format.h
+++ b/src/audio_format.h
@@ -27,6 +27,11 @@ typedef struct _AudioFormat {
volatile mpd_sint8 bits;
} AudioFormat;
+static inline double audio_format_time_to_size(const AudioFormat * af)
+{
+ return af->sampleRate * af->bits * af->channels / 8.0;
+}
+
static inline double audioFormatSizeToTime(const AudioFormat * af)
{
return 8.0 / af->bits / af->channels / af->sampleRate;
diff --git a/src/decode.c b/src/decode.c
index da649ece..f0c13f70 100644
--- a/src/decode.c
+++ b/src/decode.c
@@ -78,7 +78,7 @@ static unsigned calculateCrossFadeChunks(AudioFormat * af,
assert(af->channels > 0);
assert(af->sampleRate > 0);
- chunks = (af->sampleRate * af->bits * af->channels / 8.0 / CHUNK_SIZE);
+ chunks = audio_format_time_to_size(af) / CHUNK_SIZE;
chunks = (chunks * pc.crossFade + 0.5);
if (chunks > max_chunks)