Commit 7f9b7d3e authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

Add a proper API to set the user agent

parent d3b02be6
...@@ -198,6 +198,8 @@ int main( int i_argc, const char *ppsz_argv[] ) ...@@ -198,6 +198,8 @@ int main( int i_argc, const char *ppsz_argv[] )
if (vlc == NULL) if (vlc == NULL)
goto out; goto out;
libvlc_set_user_agent (vlc, "VLC media player", NULL);
#if !defined (HAVE_MAEMO) && !defined __APPLE__ #if !defined (HAVE_MAEMO) && !defined __APPLE__
libvlc_add_intf (vlc, "globalhotkeys,none"); libvlc_add_intf (vlc, "globalhotkeys,none");
#endif #endif
......
...@@ -171,6 +171,19 @@ void libvlc_set_exit_handler( libvlc_instance_t *p_instance, ...@@ -171,6 +171,19 @@ void libvlc_set_exit_handler( libvlc_instance_t *p_instance,
VLC_PUBLIC_API VLC_PUBLIC_API
void libvlc_wait( libvlc_instance_t *p_instance ); void libvlc_wait( libvlc_instance_t *p_instance );
/**
* Sets the application name. LibVLC passes this as the user agent string
* when a protocol requires it.
*
* \param p_instance LibVLC instance
* \param name human-readable application name, e.g. "FooBar player 1.2.3"
* \param http HTTP User Agent, e.g. "FooBar/1.2.3 Python/2.6.0"
* \version LibVLC 1.1.1 or later
*/
VLC_PUBLIC_API
void libvlc_set_user_agent( libvlc_instance_t *p_instance,
const char *name, const char *http );
/** /**
* Retrieve libvlc version. * Retrieve libvlc version.
* *
......
...@@ -69,6 +69,8 @@ libvlc_instance_t * libvlc_new( int argc, const char *const *argv ) ...@@ -69,6 +69,8 @@ libvlc_instance_t * libvlc_new( int argc, const char *const *argv )
p_new->verbosity = 1; p_new->verbosity = 1;
p_new->p_callback_list = NULL; p_new->p_callback_list = NULL;
vlc_mutex_init(&p_new->instance_lock); vlc_mutex_init(&p_new->instance_lock);
var_Create( p_libvlc_int, "http-user-agent",
VLC_VAR_STRING|VLC_VAR_DOINHERIT );
return p_new; return p_new;
error: error:
...@@ -127,6 +129,16 @@ void libvlc_wait( libvlc_instance_t *p_i ) ...@@ -127,6 +129,16 @@ void libvlc_wait( libvlc_instance_t *p_i )
libvlc_InternalWait( p_libvlc ); 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;
var_SetString (p_libvlc, "user-agent", name);
if (http != NULL)
var_SetString (p_libvlc, "http-user-agent", http);
}
const char * libvlc_get_version(void) const char * libvlc_get_version(void)
{ {
return VLC_Version(); return VLC_Version();
......
...@@ -761,8 +761,10 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc, ...@@ -761,8 +761,10 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc,
var_Create( p_libvlc, "snapshot-file", VLC_VAR_STRING ); var_Create( p_libvlc, "snapshot-file", VLC_VAR_STRING );
var_Create( p_libvlc, "record-file", VLC_VAR_STRING ); var_Create( p_libvlc, "record-file", VLC_VAR_STRING );
/* vout window provider */ /* some default internal settings */
var_Create( p_libvlc, "window", VLC_VAR_STRING ); var_Create( p_libvlc, "window", VLC_VAR_STRING );
var_Create( p_libvlc, "user-agent", VLC_VAR_STRING );
var_SetString( p_libvlc, "user-agent", "(LibVLC "VERSION")" );
/* Initialize playlist and get commandline files */ /* Initialize playlist and get commandline files */
p_playlist = playlist_Create( VLC_OBJECT(p_libvlc) ); p_playlist = playlist_Create( VLC_OBJECT(p_libvlc) );
......
...@@ -160,6 +160,7 @@ libvlc_release ...@@ -160,6 +160,7 @@ libvlc_release
libvlc_retain libvlc_retain
libvlc_set_fullscreen libvlc_set_fullscreen
libvlc_set_log_verbosity libvlc_set_log_verbosity
libvlc_set_user_agent
libvlc_toggle_fullscreen libvlc_toggle_fullscreen
libvlc_toggle_teletext libvlc_toggle_teletext
libvlc_track_description_release libvlc_track_description_release
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment