diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/pulse/proplist.c | 22 | ||||
| -rw-r--r-- | src/pulse/proplist.h | 9 | 
2 files changed, 31 insertions, 0 deletions
diff --git a/src/pulse/proplist.c b/src/pulse/proplist.c index 31fd10d5..33bd274f 100644 --- a/src/pulse/proplist.c +++ b/src/pulse/proplist.c @@ -102,6 +102,28 @@ int pa_proplist_sets(pa_proplist *p, const char *key, const char *value) {      return 0;  } +/** Will accept only valid UTF-8 */ +int pa_proplist_setf(pa_proplist *p, const char *key, const char *format, ...) { +    va_list ap; +    int r; +    char *t; + +    pa_assert(p); +    pa_assert(key); + +    if (!property_name_valid(key) || !pa_utf8_valid(format)) +        return -1; + +    va_start(ap, format); +    t = pa_vsprintf_malloc(format, ap); +    va_end(ap); + +    r = pa_proplist_sets(p, key, t); + +    pa_xfree(t); +    return r; +} +  int pa_proplist_set(pa_proplist *p, const char *key, const void *data, size_t nbytes) {      struct property *prop;      pa_bool_t add = FALSE; diff --git a/src/pulse/proplist.h b/src/pulse/proplist.h index 21379167..7c3423fa 100644 --- a/src/pulse/proplist.h +++ b/src/pulse/proplist.h @@ -100,6 +100,8 @@  #define PA_PROP_DEVICE_CONNECTOR            "device.connector"  #define PA_PROP_DEVICE_ACCESS_MODE          "device.access_mode"  #define PA_PROP_DEVICE_MASTER_DEVICE        "device.master_device" +#define PA_PROP_DEVICE_BUFFER_NFRAGMENTS    "device.buffer.nfragments" +#define PA_PROP_DEVICE_BUFFER_FRAGMENT_SIZE "device.buffer.fragment_size"  /** A property list object. Basically a dictionary with UTF-8 strings   * as keys and arbitrary data as values. \since 0.9.11 */ @@ -117,6 +119,13 @@ void pa_proplist_free(pa_proplist* p);   * UTF-8. \since 0.9.11 */  int pa_proplist_sets(pa_proplist *p, const char *key, const char *value); +/** Append a new string entry to the property list, possibly + * overwriting an already existing entry with the same key. An + * internal copy of the data passed is made. Will accept only valid + * UTF-8. The data can be passed as printf()-style format string with + * arguments. \since 0.9.11 */ +int pa_proplist_setf(pa_proplist *p, const char *key, const char *format, ...) PA_GCC_PRINTF_ATTR(3,4); +  /** Append a new arbitrary data entry to the property list, possibly   * overwriting an already existing entry with the same key. An   * internal copy of the data passed is made. \since 0.9.11 */  | 
