X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fcontrol%2Fcore.c;h=745c85af64a27b39ec8986d25912684ba8a73cff;hb=57a4f916876060dc51583f40483522a0ad1de8bc;hp=a0a52782361695ab19ba8142fb7e108d6d3ec50f;hpb=61f0547b72d3ba80039f09064249d89fa8f2b0f7;p=vlc diff --git a/src/control/core.c b/src/control/core.c index a0a5278236..745c85af64 100644 --- a/src/control/core.c +++ b/src/control/core.c @@ -69,6 +69,8 @@ libvlc_instance_t * libvlc_new( int argc, const char *const *argv ) p_new->verbosity = 1; p_new->p_callback_list = NULL; vlc_mutex_init(&p_new->instance_lock); + var_Create( p_libvlc_int, "http-user-agent", + VLC_VAR_STRING|VLC_VAR_DOINHERIT ); return p_new; error: @@ -114,12 +116,34 @@ int libvlc_add_intf( libvlc_instance_t *p_i, const char *name ) return libvlc_InternalAddIntf( p_i->p_libvlc_int, name ) ? -1 : 0; } +void libvlc_set_exit_handler( libvlc_instance_t *p_i, void (*cb) (void *), + void *data ) +{ + libvlc_int_t *p_libvlc = p_i->p_libvlc_int; + libvlc_SetExitHandler( p_libvlc, cb, data ); +} + void libvlc_wait( libvlc_instance_t *p_i ) { libvlc_int_t *p_libvlc = p_i->p_libvlc_int; libvlc_InternalWait( p_libvlc ); } +void libvlc_set_user_agent (libvlc_instance_t *p_i, + const char *name, const char *http) +{ + libvlc_int_t *p_libvlc = p_i->p_libvlc_int; + char *str; + + var_SetString (p_libvlc, "user-agent", name); + if ((http != NULL) + && (asprintf (&str, "%s LibVLC/"PACKAGE_VERSION, http) != -1)) + { + var_SetString (p_libvlc, "http-user-agent", str); + free (str); + } +} + const char * libvlc_get_version(void) { return VLC_Version(); @@ -135,3 +159,8 @@ const char * libvlc_get_changeset(void) extern const char psz_vlc_changeset[]; return psz_vlc_changeset; } + +void libvlc_free( void *ptr ) +{ + free( ptr ); +}