#include <pulse/sample.h>
#include <pulse/channelmap.h>
#include <pulse/proplist.h>
+#include <pulse/volume.h>
#include <pulsecore/macro.h>
+#include <pulsecore/resampler.h>
typedef struct pa_modargs pa_modargs;
/* Return a module argument as unsigned 32bit value in *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_boolean(pa_modargs *ma, const char *key, pa_bool_t *value);
+int pa_modargs_get_value_boolean(pa_modargs *ma, const char *key, bool *value);
+
+/* Return a module argument as double value in *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 */
+int pa_modargs_get_value_volume(pa_modargs *ma, const char *key, pa_volume_t *value);
+
+/* Return sample rate from the "rate" argument */
+int pa_modargs_get_sample_rate(pa_modargs *ma, uint32_t *rate);
/* Return sample spec data from the three arguments "rate", "format" and "channels" */
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 */
int pa_modargs_get_channel_map(pa_modargs *ma, const char *name, pa_channel_map *map);
+/* Return resample method from the argument "resample_method" */
+int pa_modargs_get_resample_method(pa_modargs *ma, pa_resample_method_t *method);
+
/* Combination of pa_modargs_get_sample_spec() and
pa_modargs_get_channel_map(). Not always suitable, since this routine
initializes the map parameter based on the channels field of the ss
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 */
+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);
/* Iterate through the module argument list. The user should allocate a