Add pa_sample_rate_valid()

I think this makes the code a bit nicer to read and write. This also
reduces the chances of off-by-one errors when checking the bounds of
sample rate values.
This commit is contained in:
Tanu Kaskinen 2013-12-04 09:50:10 +02:00 committed by Peter Meerwald
parent 1cda717252
commit a67318f8af
12 changed files with 24 additions and 21 deletions

View file

@ -371,8 +371,7 @@ int pa_modargs_get_sample_rate(pa_modargs *ma, uint32_t *rate) {
rate_local = *rate;
if ((pa_modargs_get_value_u32(ma, "rate", &rate_local)) < 0 ||
rate_local <= 0 ||
rate_local > PA_RATE_MAX)
!pa_sample_rate_valid(rate_local))
return -1;
*rate = rate_local;
@ -417,8 +416,7 @@ int pa_modargs_get_alternate_sample_rate(pa_modargs *ma, uint32_t *alternate_rat
rate_local = *alternate_rate;
if ((pa_modargs_get_value_u32(ma, "alternate_rate", &rate_local)) < 0 ||
rate_local <= 0 ||
rate_local > PA_RATE_MAX)
!pa_sample_rate_valid(*alternate_rate))
return -1;
if (!((rate_local % 4000 == 0) || (rate_local % 11025 == 0)))

View file

@ -4112,7 +4112,7 @@ static void command_update_stream_sample_rate(pa_pdispatch *pd, uint32_t command
}
CHECK_VALIDITY(c->pstream, c->authorized, tag, PA_ERR_ACCESS);
CHECK_VALIDITY(c->pstream, rate > 0 && rate <= PA_RATE_MAX, tag, PA_ERR_INVALID);
CHECK_VALIDITY(c->pstream, pa_sample_rate_valid(rate), tag, PA_ERR_INVALID);
if (command == PA_COMMAND_UPDATE_PLAYBACK_STREAM_SAMPLE_RATE) {
playback_stream *s;

View file

@ -202,8 +202,8 @@ static pa_resample_method_t pa_resampler_fix_method(
const uint32_t rate_a,
const uint32_t rate_b) {
pa_assert(rate_a > 0 && rate_a <= PA_RATE_MAX);
pa_assert(rate_b > 0 && rate_b <= PA_RATE_MAX);
pa_assert(pa_sample_rate_valid(rate_a));
pa_assert(pa_sample_rate_valid(rate_b));
pa_assert(method >= 0);
pa_assert(method < PA_RESAMPLER_MAX);

View file

@ -1420,8 +1420,7 @@ int pa_sink_update_rate(pa_sink *s, uint32_t rate, bool passthrough) {
}
}
if (PA_UNLIKELY (desired_rate < 8000 ||
desired_rate > PA_RATE_MAX))
if (PA_UNLIKELY(!pa_sample_rate_valid(desired_rate)))
return -1;
if (!passthrough) {

View file

@ -1009,8 +1009,7 @@ int pa_source_update_rate(pa_source *s, uint32_t rate, bool passthrough) {
}
}
if (PA_UNLIKELY (desired_rate < 8000 ||
desired_rate > PA_RATE_MAX))
if (PA_UNLIKELY(!pa_sample_rate_valid(desired_rate)))
return -1;
if (!passthrough) {