]> code.delx.au - pulseaudio/blobdiff - src/pulsecore/modargs.c
remap: Change remapping function argument type from void to int16_t / float as approp...
[pulseaudio] / src / pulsecore / modargs.c
index 6855b6a49a4fb06aac4fef1947af5b57aada6930..a9c4e108baf85e4f9fb32932389725b49e732e7c 100644 (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;
@@ -393,8 +392,7 @@ int pa_modargs_get_sample_spec(pa_modargs *ma, pa_sample_spec *rss) {
 
     channels = ss.channels;
     if ((pa_modargs_get_value_u32(ma, "channels", &channels)) < 0 ||
-        channels <= 0 ||
-        channels >= PA_CHANNELS_MAX)
+        !pa_channels_valid(channels))
         return -1;
     ss.channels = (uint8_t) channels;
 
@@ -411,15 +409,20 @@ int pa_modargs_get_sample_spec(pa_modargs *ma, pa_sample_spec *rss) {
 }
 
 int pa_modargs_get_alternate_sample_rate(pa_modargs *ma, uint32_t *alternate_rate) {
-    pa_assert(ma);
+    uint32_t rate_local;
+
     pa_assert(alternate_rate);
 
-    if ((pa_modargs_get_value_u32(ma, "alternate_rate", alternate_rate)) < 0 ||
-        *alternate_rate <= 0 ||
-        *alternate_rate > PA_RATE_MAX ||
-        !((*alternate_rate % 4000 == 0) || (*alternate_rate % 11025 == 0)))
+    rate_local = *alternate_rate;
+    if ((pa_modargs_get_value_u32(ma, "alternate_rate", &rate_local)) < 0 ||
+        !pa_sample_rate_valid(*alternate_rate))
         return -1;
 
+    if (!((rate_local % 4000 == 0) || (rate_local % 11025 == 0)))
+        return -1;
+
+    *alternate_rate = rate_local;
+
     return 0;
 }