On Tue, 2013-08-27 at 03:18 +0200, Alexander Couzens wrote: > There is no function to load the authentication cookie for a context. > You can only set environment variables. This patch adds pa_context_load_cookie_file() You forgot to update the function name in the commit message. > Signed-off-by: Alexander Couzens <lynxis at fe80.eu> > --- > src/pulse/context.c | 10 ++++++++++ > src/pulse/context.h | 3 +++ > 2 files changed, 13 insertions(+) I mentioned this already in IRC, but for completeness, I'll mention this also here: you need to update src/map-file when adding functions to the public API of libpulse, otherwise applications (or module-tunnel-sink) won't be able to link to the new functions. > > diff --git a/src/pulse/context.c b/src/pulse/context.c > index 1ba2672..5c0405f 100644 > --- a/src/pulse/context.c > +++ b/src/pulse/context.c > @@ -1448,3 +1448,13 @@ size_t pa_context_get_tile_size(pa_context *c, const pa_sample_spec *ss) { > mbs = PA_ROUND_DOWN(pa_mempool_block_size_max(c->mempool), fs); > return PA_MAX(mbs, fs); > } > + > +int pa_context_load_cookie_from_file(pa_context *c, const char *cookie_file_path) { > + pa_assert(c); > + pa_assert(PA_REFCNT_VALUE(c) >= 1); The cookie_file_path pointer should also be checked. > + > + PA_CHECK_VALIDITY(c, !pa_detect_fork(), PA_ERR_FORKED); > + PA_CHECK_VALIDITY(c, c->state == PA_CONTEXT_UNCONNECTED, PA_ERR_BADSTATE); > + > + return pa_client_conf_load_cookie_from_file(c->conf, cookie_file_path); > +} > diff --git a/src/pulse/context.h b/src/pulse/context.h > index 6e615f6..b52c0d4 100644 > --- a/src/pulse/context.h > +++ b/src/pulse/context.h > @@ -280,6 +280,9 @@ void pa_context_rttime_restart(pa_context *c, pa_time_event *e, pa_usec_t usec); > * pa_stream_get_sample_spec(ss)); \since 0.9.20 */ > size_t pa_context_get_tile_size(pa_context *c, const pa_sample_spec *ss); > > +/** Load the authentication cookie from a file \since 5.0 */ I elaborated the documentation to be more informative for application developers: /** Load the authentication cookie from a file. This function is primarily * meant for PulseAudio's own tunnel modules, which need to load the cookie * from a custom location. Applications don't usually need to care about the * cookie at all, but if it happens that you know what the authentication * cookie is and your application needs to load it from a non-standard * location, feel free to use this function. \since 5.0 */ > +int pa_context_load_cookie_from_file(pa_context *c, const char *cookie_file_path); > + > PA_C_DECL_END > > #endif I've applied the patch with the fixes mentioned above. Thanks again for the patch! -- Tanu