]> git.sesse.net Git - vlc/blobdiff - modules/audio_output/pulse.c
x264: add options for opengop
[vlc] / modules / audio_output / pulse.c
index e7c74508dc16be118d82d360378070424fa0481a..48d531486dcfad244d246b1dd3c714763b05e92e 100644 (file)
@@ -63,8 +63,6 @@ struct aout_sys_t
     mtime_t start_date;
 };
 
-#define    PULSE_CLIENT_NAME N_("VLC media player")
-
 #if 0
 #define PULSE_DEBUG( ...) \
     msg_Dbg( p_aout, __VA_ARGS__ )
@@ -105,8 +103,7 @@ vlc_module_begin ()
     set_capability( "audio output", 160 )
     set_category( CAT_AUDIO )
     set_subcategory( SUBCAT_AUDIO_AOUT )
-    add_shortcut( "pulseaudio" )
-    add_shortcut( "pa" )
+    add_shortcut( "pulseaudio", "pa" )
     set_callbacks( Open, Close )
 vlc_module_end ()
 
@@ -121,6 +118,7 @@ static int Open ( vlc_object_t *p_this )
     const struct pa_buffer_attr *buffer_attr;
     struct pa_buffer_attr a;
     struct pa_channel_map map;
+    char * p_client_name = NULL;
 
     if( !vlc_xlib_init( p_this ) )
         return VLC_EGENERIC;
@@ -210,7 +208,12 @@ static int Open ( vlc_object_t *p_this )
         goto fail;
     }
 
-    if (!(p_sys->context = pa_context_new(pa_threaded_mainloop_get_api(p_sys->mainloop), _( PULSE_CLIENT_NAME )))) {
+    if ((p_client_name = var_InheritString(p_aout, "user-agent")) == NULL) {
+        msg_Err(p_aout, "No user-agent string available.");
+        goto fail;
+    }
+
+    if (!(p_sys->context = pa_context_new(pa_threaded_mainloop_get_api(p_sys->mainloop), p_client_name))) {
         msg_Err(p_aout, "Failed to allocate context");
         goto fail;
     }
@@ -303,6 +306,7 @@ unlock_and_fail:
     if (p_sys->mainloop)
         pa_threaded_mainloop_unlock(p_sys->mainloop);
 fail:
+    free(p_client_name);
     msg_Dbg(p_aout, "Pulse initialization failed");
     uninit(p_aout);
     return VLC_EGENERIC;