Signed-off-by: David Guibert <[email protected]>
---
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team