modargs: Document behaviour on missing arguments

The behaviour is to leave the value unchanged. The idea is to init the value
with a default before the call and not treat a missing value as error. That
way, only parsing errors or validating errors actually return error codes.
This commit is contained in:
Ulrich Eckhardt 2016-07-06 20:00:54 +02:00 committed by Tanu Kaskinen
parent 82d0314a05
commit 7c280b6037

View file

@ -42,27 +42,35 @@ void pa_modargs_free(pa_modargs*ma);
* the argument was not specified, return def instead.*/ * the argument was not specified, return def instead.*/
const char *pa_modargs_get_value(pa_modargs *ma, const char *key, const char *def); const char *pa_modargs_get_value(pa_modargs *ma, const char *key, const char *def);
/* Return a module argument as unsigned 32bit value in *value */ /* Return a module argument as unsigned 32bit value in *value. If the argument
* was not specified, *value remains unchanged. */
int pa_modargs_get_value_u32(pa_modargs *ma, const char *key, uint32_t *value); int pa_modargs_get_value_u32(pa_modargs *ma, const char *key, uint32_t *value);
int pa_modargs_get_value_s32(pa_modargs *ma, const char *key, int32_t *value); int pa_modargs_get_value_s32(pa_modargs *ma, const char *key, int32_t *value);
int pa_modargs_get_value_boolean(pa_modargs *ma, const char *key, bool *value); int pa_modargs_get_value_boolean(pa_modargs *ma, const char *key, bool *value);
/* Return a module argument as double value in *value */ /* Return a module argument as double value in *value. If the argument was not
* specified, *value remains unchanged. */
int pa_modargs_get_value_double(pa_modargs *ma, const char *key, double *value); int pa_modargs_get_value_double(pa_modargs *ma, const char *key, double *value);
/* Return a module argument as pa_volume_t value in *value */ /* Return a module argument as pa_volume_t value in *value. If the argument
* was not specified, *value remains unchanged. */
int pa_modargs_get_value_volume(pa_modargs *ma, const char *key, pa_volume_t *value); int pa_modargs_get_value_volume(pa_modargs *ma, const char *key, pa_volume_t *value);
/* Return sample rate from the "rate" argument */ /* Return sample rate from the "rate" argument. If the argument was not
* specified, *rate remains unchanged. */
int pa_modargs_get_sample_rate(pa_modargs *ma, uint32_t *rate); int pa_modargs_get_sample_rate(pa_modargs *ma, uint32_t *rate);
/* Return sample spec data from the three arguments "rate", "format" and "channels" */ /* Return sample spec data from the three arguments "rate", "format" and
* "channels". If the argument was not specified, *ss remains unchanged. */
int pa_modargs_get_sample_spec(pa_modargs *ma, pa_sample_spec *ss); int pa_modargs_get_sample_spec(pa_modargs *ma, pa_sample_spec *ss);
/* Return channel map data from the argument "channel_map" if name is NULL, otherwise read from the specified argument */ /* Return channel map data from the argument "channel_map" if name is NULL,
* otherwise read from the specified argument. If the argument was not
* specified, *map remains unchanged. */
int pa_modargs_get_channel_map(pa_modargs *ma, const char *name, pa_channel_map *map); int pa_modargs_get_channel_map(pa_modargs *ma, const char *name, pa_channel_map *map);
/* Return resample method from the argument "resample_method" */ /* Return resample method from the argument "resample_method". If the argument
* was not specified, *method remains unchanged. */
int pa_modargs_get_resample_method(pa_modargs *ma, pa_resample_method_t *method); int pa_modargs_get_resample_method(pa_modargs *ma, pa_resample_method_t *method);
/* Combination of pa_modargs_get_sample_spec() and /* Combination of pa_modargs_get_sample_spec() and
@ -72,7 +80,8 @@ structure if no channel_map is found, using pa_channel_map_init_auto() */
int pa_modargs_get_sample_spec_and_channel_map(pa_modargs *ma, pa_sample_spec *ss, pa_channel_map *map, pa_channel_map_def_t def); int pa_modargs_get_sample_spec_and_channel_map(pa_modargs *ma, pa_sample_spec *ss, pa_channel_map *map, pa_channel_map_def_t def);
/* Return alternate sample rate from "alternate_sample_rate" parameter */ /* Return alternate sample rate from "alternate_sample_rate" parameter. If the
* argument was not specified, *alternate_rate remains unchanged. */
int pa_modargs_get_alternate_sample_rate(pa_modargs *ma, uint32_t *alternate_rate); int pa_modargs_get_alternate_sample_rate(pa_modargs *ma, uint32_t *alternate_rate);
int pa_modargs_get_proplist(pa_modargs *ma, const char *name, pa_proplist *p, pa_update_mode_t m); int pa_modargs_get_proplist(pa_modargs *ma, const char *name, pa_proplist *p, pa_update_mode_t m);