diff options
author | Lennart Poettering <lennart@poettering.net> | 2008-04-09 13:49:04 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2008-04-09 13:49:04 +0000 |
commit | 39afb140935ffb9eb47142ddb125bc6488e06fd2 (patch) | |
tree | 55dd2f0ba11d6c9ec3cec3efb7a649ea528439b9 | |
parent | d69aeebc00d1babd40e2101cd94373f7c8dc4c0d (diff) |
add new pa_proplist_setf() API function
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2230 fefdeb5f-60dc-0310-8127-8f9354f1896f
-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 */ |