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

@ -263,7 +263,7 @@ static int ucm_get_device_property(
/* get rate */
if ((value = pa_proplist_gets(device->proplist, PA_ALSA_PROP_UCM_PLAYBACK_RATE)) ||
(value = pa_proplist_gets(verb->proplist, PA_ALSA_PROP_UCM_PLAYBACK_RATE))) {
if (pa_atou(value, &ui) == 0 && ui > 0 && ui < PA_RATE_MAX) {
if (pa_atou(value, &ui) == 0 && pa_sample_rate_valid(ui)) {
pa_log_debug("UCM playback device %s rate %d", device_name, ui);
device->playback_rate = ui;
} else
@ -284,7 +284,7 @@ static int ucm_get_device_property(
/* get rate */
if ((value = pa_proplist_gets(device->proplist, PA_ALSA_PROP_UCM_CAPTURE_RATE)) ||
(value = pa_proplist_gets(verb->proplist, PA_ALSA_PROP_UCM_CAPTURE_RATE))) {
if (pa_atou(value, &ui) == 0 && ui > 0 && ui < PA_RATE_MAX) {
if (pa_atou(value, &ui) == 0 && pa_sample_rate_valid(ui)) {
pa_log_debug("UCM capture device %s rate %d", device_name, ui);
device->capture_rate = ui;
} else

View file

@ -544,7 +544,7 @@ static void handle_set_default_sample_rate(DBusConnection *conn, DBusMessage *ms
dbus_message_iter_get_basic(iter, &default_sample_rate);
if (default_sample_rate <= 0 || default_sample_rate > PA_RATE_MAX ||
if (!pa_sample_rate_valid(default_sample_rate) ||
!((default_sample_rate % 4000 == 0) || (default_sample_rate % 11025 == 0))) {
pa_dbus_send_error(conn, msg, DBUS_ERROR_INVALID_ARGS, "Invalid sample rate.");
return;
@ -579,7 +579,7 @@ static void handle_set_alternate_sample_rate(DBusConnection *conn, DBusMessage *
dbus_message_iter_get_basic(iter, &alternate_sample_rate);
if (alternate_sample_rate <= 0 || alternate_sample_rate > PA_RATE_MAX ||
if (!pa_sample_rate_valid(alternate_sample_rate) ||
!((alternate_sample_rate % 4000 == 0) || (alternate_sample_rate % 11025 == 0))) {
pa_dbus_send_error(conn, msg, DBUS_ERROR_INVALID_ARGS, "Invalid sample rate.");
return;
@ -1322,7 +1322,7 @@ static void handle_upload_sample(DBusConnection *conn, DBusMessage *msg, void *u
goto finish;
}
if (sample_rate <= 0 || sample_rate > PA_RATE_MAX) {
if (!pa_sample_rate_valid(sample_rate)) {
pa_dbus_send_error(conn, msg, DBUS_ERROR_INVALID_ARGS, "Invalid sample rate.");
goto finish;
}