aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2011-03-16 23:37:41 +0100
committerMax Kellermann <max@duempel.org>2011-03-16 23:37:41 +0100
commit4f293ecd6f4c7a07d72fbf0b9d0d454244b12c2a (patch)
tree830490ade657a93950dbcfba0e606dbaa5092af9
parentb6303313f0145c4caf58195ba4a85d2f4fa2967c (diff)
downloadmpd-4f293ecd6f4c7a07d72fbf0b9d0d454244b12c2a.tar.gz
mpd-4f293ecd6f4c7a07d72fbf0b9d0d454244b12c2a.tar.xz
mpd-4f293ecd6f4c7a07d72fbf0b9d0d454244b12c2a.zip
audio_format, output_thread: add more audio_format_valid() assertions
-rw-r--r--src/audio_format.h6
-rw-r--r--src/audio_parser.c1
-rw-r--r--src/output_control.c1
-rw-r--r--src/output_thread.c5
4 files changed, 13 insertions, 0 deletions
diff --git a/src/audio_format.h b/src/audio_format.h
index dd32731c3..a4450ad71 100644
--- a/src/audio_format.h
+++ b/src/audio_format.h
@@ -22,6 +22,7 @@
#include <stdint.h>
#include <stdbool.h>
+#include <assert.h>
enum sample_format {
SAMPLE_FORMAT_UNDEFINED = 0,
@@ -219,6 +220,9 @@ static inline 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;
@@ -227,6 +231,8 @@ audio_format_mask_apply(struct audio_format *af,
if (mask->channels != 0)
af->channels = mask->channels;
+
+ assert(audio_format_valid(af));
}
/**
diff --git a/src/audio_parser.c b/src/audio_parser.c
index 039ffa1ab..ca5182c4a 100644
--- a/src/audio_parser.c
+++ b/src/audio_parser.c
@@ -192,6 +192,7 @@ audio_format_parse(struct audio_format *dest, const char *src,
}
audio_format_init(dest, rate, sample_format, channels);
+ assert(audio_format_valid(dest));
return true;
}
diff --git a/src/output_control.c b/src/output_control.c
index 161404f78..0823b667b 100644
--- a/src/output_control.c
+++ b/src/output_control.c
@@ -115,6 +115,7 @@ audio_output_open(struct audio_output *ao,
{
bool open;
+ assert(audio_format_valid(audio_format));
assert(mp != NULL);
if (ao->fail_timer != NULL) {
diff --git a/src/output_thread.c b/src/output_thread.c
index a5244c693..4e0446791 100644
--- a/src/output_thread.c
+++ b/src/output_thread.c
@@ -95,6 +95,8 @@ ao_filter_open(struct audio_output *ao,
struct audio_format *audio_format,
GError **error_r)
{
+ assert(audio_format_valid(audio_format));
+
/* the replay_gain filter cannot fail here */
if (ao->replay_gain_filter != NULL)
filter_open(ao->replay_gain_filter, audio_format, error_r);
@@ -136,6 +138,7 @@ ao_open(struct audio_output *ao)
assert(!ao->open);
assert(ao->pipe != NULL);
assert(ao->chunk == NULL);
+ assert(audio_format_valid(&ao->in_audio_format));
if (ao->fail_timer != NULL) {
/* this can only happen when this
@@ -164,6 +167,8 @@ ao_open(struct audio_output *ao)
return;
}
+ assert(audio_format_valid(filter_audio_format));
+
ao->out_audio_format = *filter_audio_format;
audio_format_mask_apply(&ao->out_audio_format,
&ao->config_audio_format);