pa_sample_format_is_be;
pa_sample_format_is_le;
pa_sample_format_to_string;
+pa_sample_format_valid;
pa_sample_size;
pa_sample_size_of_format;
pa_sample_spec_equal;
dbus_message_iter_get_basic(iter, &default_sample_format);
- if (default_sample_format >= PA_SAMPLE_MAX) {
+ if (!pa_sample_format_valid(default_sample_format)) {
pa_dbus_send_error(conn, msg, DBUS_ERROR_INVALID_ARGS, "Invalid sample format.");
return;
}
dbus_message_iter_recurse(&msg_iter, &array_iter);
dbus_message_iter_get_fixed_array(&array_iter, &data, &data_length);
- if (sample_format >= PA_SAMPLE_MAX) {
+ if (!pa_sample_format_valid(sample_format)) {
pa_dbus_send_error(conn, msg, DBUS_ERROR_INVALID_ARGS, "Invalid sample format.");
goto finish;
}
};
size_t pa_sample_size_of_format(pa_sample_format_t f) {
- pa_assert(f >= 0);
- pa_assert(f < PA_SAMPLE_MAX);
+ pa_assert(pa_sample_format_valid(f));
return size_table[f];
}
return spec;
}
+int pa_sample_format_valid(unsigned format) {
+ return format < PA_SAMPLE_MAX;
+}
+
int pa_sample_spec_valid(const pa_sample_spec *spec) {
pa_assert(spec);
spec->rate > PA_RATE_MAX ||
spec->channels <= 0 ||
spec->channels > PA_CHANNELS_MAX ||
- spec->format >= PA_SAMPLE_MAX ||
- spec->format < 0))
+ !pa_sample_format_valid(spec->format)))
return 0;
return 1;
[PA_SAMPLE_S24_32BE] = "s24-32be",
};
- if (f < 0 || f >= PA_SAMPLE_MAX)
+ if (!pa_sample_format_valid(f))
return NULL;
return table[f];
}
int pa_sample_format_is_le(pa_sample_format_t f) {
- pa_assert(f >= PA_SAMPLE_U8);
- pa_assert(f < PA_SAMPLE_MAX);
+ pa_assert(pa_sample_format_valid(f));
switch (f) {
case PA_SAMPLE_S16LE:
* pa_sample_spec_valid() will fail for it. \since 0.9.13 */
pa_sample_spec* pa_sample_spec_init(pa_sample_spec *spec);
+/** Return non-zero if the given integer is a valid sample format. \since 5.0 */
+int pa_sample_format_valid(unsigned format) PA_GCC_PURE;
+
/** Return non-zero when the sample type specification is valid */
int pa_sample_spec_valid(const pa_sample_spec *spec) PA_GCC_PURE;
}
pa_do_mix_func_t pa_get_mix_func(pa_sample_format_t f) {
- pa_assert(f >= 0);
- pa_assert(f < PA_SAMPLE_MAX);
+ pa_assert(pa_sample_format_valid(f));
return do_mix_table[f];
}
void pa_set_mix_func(pa_sample_format_t f, pa_do_mix_func_t func) {
- pa_assert(f >= 0);
- pa_assert(f < PA_SAMPLE_MAX);
+ pa_assert(pa_sample_format_valid(f));
do_mix_table[f] = func;
}
/* Return true if a is a more precise sample format than b, else return false */
static bool sample_format_more_precise(pa_sample_format_t a, pa_sample_format_t b) {
- pa_assert(a >= 0 && a < PA_SAMPLE_MAX);
- pa_assert(b >= 0 && b < PA_SAMPLE_MAX);
+ pa_assert(pa_sample_format_valid(a));
+ pa_assert(pa_sample_format_valid(b));
switch (a) {
case PA_SAMPLE_U8:
bool map_required) {
pa_sample_format_t work_format;
- pa_assert(a >= 0 && a < PA_SAMPLE_MAX);
- pa_assert(b >= 0 && b < PA_SAMPLE_MAX);
+ pa_assert(pa_sample_format_valid(a));
+ pa_assert(pa_sample_format_valid(b));
pa_assert(method >= 0);
pa_assert(method < PA_RESAMPLER_MAX);
};
pa_convert_func_t pa_get_convert_to_float32ne_function(pa_sample_format_t f) {
-
- pa_assert(f >= 0);
- pa_assert(f < PA_SAMPLE_MAX);
+ pa_assert(pa_sample_format_valid(f));
return to_float32ne_table[f];
}
void pa_set_convert_to_float32ne_function(pa_sample_format_t f, pa_convert_func_t func) {
-
- pa_assert(f >= 0);
- pa_assert(f < PA_SAMPLE_MAX);
+ pa_assert(pa_sample_format_valid(f));
to_float32ne_table[f] = func;
}
};
pa_convert_func_t pa_get_convert_from_float32ne_function(pa_sample_format_t f) {
-
- pa_assert(f >= 0);
- pa_assert(f < PA_SAMPLE_MAX);
+ pa_assert(pa_sample_format_valid(f));
return from_float32ne_table[f];
}
void pa_set_convert_from_float32ne_function(pa_sample_format_t f, pa_convert_func_t func) {
-
- pa_assert(f >= 0);
- pa_assert(f < PA_SAMPLE_MAX);
+ pa_assert(pa_sample_format_valid(f));
from_float32ne_table[f] = func;
}
};
pa_convert_func_t pa_get_convert_to_s16ne_function(pa_sample_format_t f) {
-
- pa_assert(f >= 0);
- pa_assert(f < PA_SAMPLE_MAX);
+ pa_assert(pa_sample_format_valid(f));
return to_s16ne_table[f];
}
void pa_set_convert_to_s16ne_function(pa_sample_format_t f, pa_convert_func_t func) {
-
- pa_assert(f >= 0);
- pa_assert(f < PA_SAMPLE_MAX);
+ pa_assert(pa_sample_format_valid(f));
to_s16ne_table[f] = func;
}
};
pa_convert_func_t pa_get_convert_from_s16ne_function(pa_sample_format_t f) {
-
- pa_assert(f >= 0);
- pa_assert(f < PA_SAMPLE_MAX);
+ pa_assert(pa_sample_format_valid(f));
return from_s16ne_table[f];
}
void pa_set_convert_from_s16ne_function(pa_sample_format_t f, pa_convert_func_t func) {
-
- pa_assert(f >= 0);
- pa_assert(f < PA_SAMPLE_MAX);
+ pa_assert(pa_sample_format_valid(f));
from_s16ne_table[f] = func;
}
};
pa_do_volume_func_t pa_get_volume_func(pa_sample_format_t f) {
- pa_assert(f >= 0);
- pa_assert(f < PA_SAMPLE_MAX);
+ pa_assert(pa_sample_format_valid(f));
return do_volume_table[f];
}
void pa_set_volume_func(pa_sample_format_t f, pa_do_volume_func_t func) {
- pa_assert(f >= 0);
- pa_assert(f < PA_SAMPLE_MAX);
+ pa_assert(pa_sample_format_valid(f));
do_volume_table[f] = func;
}