mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-15 06:59:58 -05:00
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:
parent
1cda717252
commit
a67318f8af
12 changed files with 24 additions and 21 deletions
|
|
@ -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)))
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue