jeyzu pushed a commit to branch devs/jeyzu/mixer.

commit 7497f3b29fd666eb2f4a78a26165860129f58d78
Author: Jérémy Zurcher <[email protected]>
Date:   Sat Feb 23 00:20:15 2013 +0100

    mixer: pulse use const eina_stringshare as channel name
    
    neat as done in sys_dummy
---
 src/modules/mixer/sys_pulse.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/modules/mixer/sys_pulse.c b/src/modules/mixer/sys_pulse.c
index 4d36ec5..38af163 100644
--- a/src/modules/mixer/sys_pulse.c
+++ b/src/modules/mixer/sys_pulse.c
@@ -15,6 +15,7 @@ static Eina_List *sinks = NULL;
 static Eina_List *sources = NULL;
 static Ecore_Poller *pulse_poller = NULL;
 static Eina_Hash *queue_states = NULL;
+static const char *_name = NULL;
 
 static EDBus_Connection *dbus = NULL;
 static EDBus_Signal_Handler *dbus_handler = NULL;
@@ -372,6 +373,7 @@ e_mixer_pulse_init(void)
    ph = ecore_event_handler_add(PULSE_EVENT_CONNECTED, 
(Ecore_Event_Handler_Cb)_pulse_connected, conn);
    pch = ecore_event_handler_add(PULSE_EVENT_CHANGE, 
(Ecore_Event_Handler_Cb)_pulse_update, conn);
    pdh = ecore_event_handler_add(PULSE_EVENT_DISCONNECTED, 
(Ecore_Event_Handler_Cb)_pulse_disconnected, conn);
+   if (!_name) _name = eina_stringshare_add("Output");
    return EINA_TRUE;
 error:
    pulse_free(conn);
@@ -417,6 +419,8 @@ e_mixer_pulse_shutdown(void)
         edbus_shutdown();
      }
    pulse_shutdown();
+   if (_name) eina_stringshare_del(_name);
+   _name = NULL;
 }
 
 E_Mixer_System *
@@ -484,7 +488,7 @@ e_mixer_pulse_free_channels(Eina_List *channels)
 Eina_List *
 e_mixer_pulse_get_channels_names(E_Mixer_System *self EINA_UNUSED)
 {
-   return eina_list_append(NULL, eina_stringshare_add("Output"));
+   return eina_list_append(NULL, eina_stringshare_ref(_name));
 }
 
 void
@@ -498,7 +502,7 @@ e_mixer_pulse_free_channels_names(Eina_List *channels_names)
 const char *
 e_mixer_pulse_get_default_channel_name(E_Mixer_System *self EINA_UNUSED)
 {
-   return eina_stringshare_add("Output");
+   return eina_stringshare_ref(_name);
 }
 
 E_Mixer_Channel *
@@ -516,7 +520,7 @@ const char *
 e_mixer_pulse_get_channel_name(E_Mixer_System *self EINA_UNUSED, 
E_Mixer_Channel *channel)
 {
    if (!channel) return NULL;
-   return eina_stringshare_add("Output");
+   return eina_stringshare_ref(_name);
 }
 
 int

-- 

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb

Reply via email to