Signed-off-by: David Guibert <david.guib...@gmail.com>
---
Avuton,

I hope this help to find which part clearly fails.
It should give me more information about bugs
- 2136
- 2138
- 2139

Regards

 src/mixer/pulse_mixer.c |   45 ++++++++++++++++++++++-----------------------
 1 files changed, 22 insertions(+), 23 deletions(-)

diff --git a/src/mixer/pulse_mixer.c b/src/mixer/pulse_mixer.c
index a300a29..7f2651a 100644
--- a/src/mixer/pulse_mixer.c
+++ b/src/mixer/pulse_mixer.c
@@ -48,22 +48,19 @@ sink_input_cb(G_GNUC_UNUSED pa_context *context, const 
pa_sink_input_info *i,
 {
 
        struct pulse_mixer *pm = userdata;
-       if (eol) {
-               g_debug("eol error sink_input_cb");
+       if (eol)
                return;
-       }
 
        if (!i) {
                g_debug("Sink input callback failure");
                return;
        }
-       g_debug("sink input cb %s, index %d ",i->name,i->index);
-       if(strcmp(i->name,pm->output_name)==0) {
-               pm->index=i->index;
-               pm->online=true;
-               *pm->volume=i->volume;
-       } else
-               g_debug("bad name");
+       if(strcmp(i->name,pm->output_name) == 0) {
+               g_debug("Sink input cb %s, index %d",i->name,i->index);
+               pm->index   = i->index;
+               pm->online  = true;
+               *pm->volume = i->volume;
+       }
 }
 
 static void
@@ -72,21 +69,19 @@ sink_input_vol(G_GNUC_UNUSED pa_context *context, const 
pa_sink_input_info *i,
 {
 
        struct pulse_mixer *pm = userdata;
-       if (eol) {
-               g_debug("eol error sink_input_vol");
+       if (eol)
                return;
-       }
 
        if (!i) {
-               g_debug("Sink input callback failure");
+               g_debug("Sink input volume failure");
                return;
        }
-       g_debug("sink input vol %s, index %d ", i->name, i->index);
-       *pm->volume=i->volume;
+       g_debug("Sink input vol %s, index %d", i->name, i->index);
+       *pm->volume = i->volume;
 }
 
 static void
-subscribe_cb(G_GNUC_UNUSED pa_context *c, pa_subscription_event_type_t t,
+subscribe_cb(pa_context *context, pa_subscription_event_type_t t,
             uint32_t idx, void *userdata)
 {
 
@@ -101,7 +96,7 @@ subscribe_cb(G_GNUC_UNUSED pa_context *c, 
pa_subscription_event_type_t t,
                else {
                        pa_operation *o;
 
-                       if (!(o = pa_context_get_sink_input_info(pm->context, 
idx, sink_input_cb, pm))) {
+                       if (!(o = pa_context_get_sink_input_info(context, idx, 
sink_input_cb, pm))) {
                                g_debug("pa_context_get_sink_input_info() 
failed");
                                return;
                        }
@@ -202,8 +197,9 @@ pulse_mixer_open(G_GNUC_UNUSED struct mixer *data)
                return false;
        }
 
+       pa_threaded_mainloop_lock(pm->mainloop);
        if(!(pm->context = 
pa_context_new(pa_threaded_mainloop_get_api(pm->mainloop),
-                                         "Mixer mpd"))) {
+                                         "Mixer MPD"))) {
                g_debug("failed context");
                return false;
        }
@@ -212,20 +208,21 @@ pulse_mixer_open(G_GNUC_UNUSED struct mixer *data)
 
        if (pa_context_connect(pm->context, pm->server,
                               (pa_context_flags_t)0, NULL) < 0) {
-               g_debug("context server fail");
+               g_warning("Failed to connect to server: %s", 
pa_strerror(pa_context_errno(pm->context)));
                return false;
        }
 
-       pa_threaded_mainloop_lock(pm->mainloop);
        if (pa_threaded_mainloop_start(pm->mainloop) < 0) {
-               g_debug("error start mainloop");
+               g_warning("Failed to start main loop");
                return false;
        }
 
+       /* Wait until the context is ready */
        pa_threaded_mainloop_wait(pm->mainloop);
 
        if (pa_context_get_state(pm->context) != PA_CONTEXT_READY) {
-               g_debug("error context not ready");
+               g_warning("Failed to connect to server: %s", 
pa_strerror(pa_context_errno(pm->context)));
+               pa_threaded_mainloop_unlock(pm->mainloop);
                return false;
        }
 
@@ -283,6 +280,8 @@ pulse_mixer_set_volume(struct mixer *mixer, unsigned volume)
 {
        struct pulse_mixer *pm=(struct pulse_mixer *) mixer;
        pa_operation *o;
+       g_debug("set_volume %s %d",
+               pm->online == TRUE ? "online" : "offline", volume);
        if (pm->online) {
                pa_cvolume_set(pm->volume, (pm->volume)->channels,
                                (pa_volume_t)(volume)*PA_VOLUME_NORM/100+0.5);
-- 
tg: (8137a4f..) t/debug-messages (depends on: t/pulse_mixer_close)

------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
Musicpd-dev-team mailing list
Musicpd-dev-team@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team

Reply via email to