From 4f293ecd6f4c7a07d72fbf0b9d0d454244b12c2a Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 16 Mar 2011 23:37:41 +0100 Subject: audio_format, output_thread: add more audio_format_valid() assertions --- src/audio_format.h | 6 ++++++ src/audio_parser.c | 1 + src/output_control.c | 1 + src/output_thread.c | 5 +++++ 4 files changed, 13 insertions(+) diff --git a/src/audio_format.h b/src/audio_format.h index dd32731c..a4450ad7 100644 --- a/src/audio_format.h +++ b/src/audio_format.h @@ -22,6 +22,7 @@ #include #include +#include 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 039ffa1a..ca5182c4 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 161404f7..0823b667 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 a5244c69..4e044679 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); -- cgit v1.2.3