aboutsummaryrefslogtreecommitdiff
path: root/src/audio_format.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2011-10-10 09:06:28 +0200
committerMax Kellermann <max@duempel.org>2011-10-10 10:13:43 +0200
commit1fb3fbb4de11984c708b4b6355b172cda2b94d43 (patch)
tree896c646016e179da80bad254b9d286b342f0a3e6 /src/audio_format.c
parent2c38d19af27ad001876b606950efc0598dd067fb (diff)
audio_format: un-inline audio_format_mask_apply()
This function is not critical for performance, and the inline expansion looks too expensive.
Diffstat (limited to 'src/audio_format.c')
-rw-r--r--src/audio_format.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/audio_format.c b/src/audio_format.c
index 799e0dd8..458ec3b1 100644
--- a/src/audio_format.c
+++ b/src/audio_format.c
@@ -28,6 +28,25 @@
#define REVERSE_ENDIAN_SUFFIX "_be"
#endif
+void
+audio_format_mask_apply(struct audio_format *af,
+ const struct audio_format *mask)
+{
+ assert(audio_format_valid(af));
+ assert(audio_format_mask_valid(mask));
+
+ if (mask->sample_rate != 0)
+ af->sample_rate = mask->sample_rate;
+
+ if (mask->format != SAMPLE_FORMAT_UNDEFINED)
+ af->format = mask->format;
+
+ if (mask->channels != 0)
+ af->channels = mask->channels;
+
+ assert(audio_format_valid(af));
+}
+
const char *
sample_format_to_string(enum sample_format format)
{