aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/audio.c17
-rw-r--r--src/audio.h2
-rw-r--r--src/audio_format.h8
-rw-r--r--src/decoder_api.c2
-rw-r--r--src/output_control.c7
5 files changed, 14 insertions, 22 deletions
diff --git a/src/audio.c b/src/audio.c
index 7bec92437..839052dc2 100644
--- a/src/audio.c
+++ b/src/audio.c
@@ -66,14 +66,6 @@ static unsigned int audio_output_count(void)
return nr;
}
-int cmpAudioFormat(const struct audio_format *f1, const struct audio_format *f2)
-{
- if (f1 && f2 && (f1->sampleRate == f2->sampleRate) &&
- (f1->bits == f2->bits) && (f1->channels == f2->channels))
- return 0;
- return 1;
-}
-
/* make sure initPlayerData is called before this function!! */
void initAudioDriver(void)
{
@@ -230,13 +222,8 @@ void finishAudioDriver(void)
int isCurrentAudioFormat(const struct audio_format *audioFormat)
{
- if (!audioFormat)
- return 1;
-
- if (cmpAudioFormat(audioFormat, &audio_format) != 0)
- return 0;
-
- return 1;
+ return audioFormat == NULL ||
+ audio_format_equals(audioFormat, &audio_format);
}
static void syncAudioDeviceStates(void)
diff --git a/src/audio.h b/src/audio.h
index 0b7ecea88..6e8db5944 100644
--- a/src/audio.h
+++ b/src/audio.h
@@ -27,8 +27,6 @@ struct audio_format;
struct tag;
struct client;
-int cmpAudioFormat(const struct audio_format *dest, const struct audio_format *src);
-
void getOutputAudioFormat(const struct audio_format *inFormat,
struct audio_format *outFormat);
diff --git a/src/audio_format.h b/src/audio_format.h
index b4b40c69f..1cfb258ae 100644
--- a/src/audio_format.h
+++ b/src/audio_format.h
@@ -27,6 +27,14 @@ struct audio_format {
mpd_sint8 channels;
};
+static inline int audio_format_equals(const struct audio_format *a,
+ const struct audio_format *b)
+{
+ return a->sampleRate == b->sampleRate &&
+ a->bits == b->bits &&
+ a->channels == b->channels;
+}
+
static inline double audio_format_time_to_size(const struct audio_format *af)
{
return af->sampleRate * af->bits * af->channels / 8.0;
diff --git a/src/decoder_api.c b/src/decoder_api.c
index db1820db4..236fe5029 100644
--- a/src/decoder_api.c
+++ b/src/decoder_api.c
@@ -162,7 +162,7 @@ decoder_data(struct decoder *decoder, InputStream * inStream, int seekable,
static size_t convBufferLen;
int ret;
- if (cmpAudioFormat(&(ob.audioFormat), &(dc.audioFormat)) == 0) {
+ if (audio_format_equals(&ob.audioFormat, &dc.audioFormat)) {
data = dataIn;
datalen = dataInLen;
} else {
diff --git a/src/output_control.c b/src/output_control.c
index 3459a9047..df330ee21 100644
--- a/src/output_control.c
+++ b/src/output_control.c
@@ -20,7 +20,6 @@
#include "output_api.h"
#include "pcm_utils.h"
#include "utils.h"
-#include "audio.h"
int audio_output_open(struct audio_output *audioOutput,
const struct audio_format *audioFormat)
@@ -28,7 +27,7 @@ int audio_output_open(struct audio_output *audioOutput,
int ret = 0;
if (audioOutput->open &&
- 0 == cmpAudioFormat(audioFormat, &audioOutput->inAudioFormat)) {
+ audio_format_equals(audioFormat, &audioOutput->inAudioFormat)) {
return 0;
}
@@ -46,8 +45,8 @@ int audio_output_open(struct audio_output *audioOutput,
ret = audioOutput->plugin->open(audioOutput);
audioOutput->sameInAndOutFormats =
- !cmpAudioFormat(&audioOutput->inAudioFormat,
- &audioOutput->outAudioFormat);
+ audio_format_equals(&audioOutput->inAudioFormat,
+ &audioOutput->outAudioFormat);
return ret;
}