pulse_mixer: adapted code style

Use the same code style as the rest of MPD.
This commit is contained in:
Max Kellermann 2009-03-27 00:43:47 +01:00
parent 207786ffb1
commit 929c200c38
1 changed files with 54 additions and 29 deletions

View File

@ -31,11 +31,14 @@
struct pulse_mixer { struct pulse_mixer {
struct mixer base; struct mixer base;
const char *server; const char *server;
const char *sink; const char *sink;
const char *output_name; const char *output_name;
uint32_t index; uint32_t index;
bool online; bool online;
struct pa_context *context; struct pa_context *context;
struct pa_threaded_mainloop *mainloop; struct pa_threaded_mainloop *mainloop;
struct pa_cvolume volume; struct pa_cvolume volume;
@ -48,19 +51,22 @@ sink_input_cb(G_GNUC_UNUSED pa_context *context, const pa_sink_input_info *i,
{ {
struct pulse_mixer *pm = userdata; struct pulse_mixer *pm = userdata;
if (eol) { if (eol) {
g_debug("eol error sink_input_cb"); g_debug("eol error sink_input_cb");
return; return;
} }
if (!i) { if (i == NULL) {
g_debug("Sink input callback failure"); g_debug("Sink input callback failure");
return; return;
} }
g_debug("sink input cb %s, index %d ",i->name,i->index); g_debug("sink input cb %s, index %d ",i->name,i->index);
if(strcmp(i->name,pm->output_name)==0) {
pm->index=i->index; if (strcmp(i->name,pm->output_name) == 0) {
pm->online=true; pm->index = i->index;
pm->online = true;
pm->volume = i->volume; pm->volume = i->volume;
} else } else
g_debug("bad name"); g_debug("bad name");
@ -72,15 +78,17 @@ sink_input_vol(G_GNUC_UNUSED pa_context *context, const pa_sink_input_info *i,
{ {
struct pulse_mixer *pm = userdata; struct pulse_mixer *pm = userdata;
if (eol) { if (eol) {
g_debug("eol error sink_input_vol"); g_debug("eol error sink_input_vol");
return; return;
} }
if (!i) { if (i == NULL) {
g_debug("Sink input callback failure"); g_debug("Sink input callback failure");
return; return;
} }
g_debug("sink input vol %s, index %d ", i->name, i->index); g_debug("sink input vol %s, index %d ", i->name, i->index);
pm->volume = i->volume; pm->volume = i->volume;
} }
@ -91,17 +99,21 @@ subscribe_cb(G_GNUC_UNUSED pa_context *c, pa_subscription_event_type_t t,
{ {
struct pulse_mixer *pm = userdata; struct pulse_mixer *pm = userdata;
g_debug("subscribe call back"); g_debug("subscribe call back");
switch (t & PA_SUBSCRIPTION_EVENT_FACILITY_MASK) { switch (t & PA_SUBSCRIPTION_EVENT_FACILITY_MASK) {
case PA_SUBSCRIPTION_EVENT_SINK_INPUT: case PA_SUBSCRIPTION_EVENT_SINK_INPUT:
if ((t & PA_SUBSCRIPTION_EVENT_TYPE_MASK) == if ((t & PA_SUBSCRIPTION_EVENT_TYPE_MASK) ==
PA_SUBSCRIPTION_EVENT_REMOVE && PA_SUBSCRIPTION_EVENT_REMOVE &&
pm->index == idx) pm->index == idx)
pm->online =false; pm->online = false;
else { else {
pa_operation *o; pa_operation *o;
if (!(o = pa_context_get_sink_input_info(pm->context, idx, sink_input_cb, pm))) { o = pa_context_get_sink_input_info(pm->context, idx,
sink_input_cb, pm);
if (o == NULL) {
g_debug("pa_context_get_sink_input_info() failed"); g_debug("pa_context_get_sink_input_info() failed");
return; return;
} }
@ -116,26 +128,31 @@ static void
context_state_cb(pa_context *context, void *userdata) context_state_cb(pa_context *context, void *userdata)
{ {
struct pulse_mixer *pm = userdata; struct pulse_mixer *pm = userdata;
switch (pa_context_get_state(context)) { switch (pa_context_get_state(context)) {
case PA_CONTEXT_READY: { case PA_CONTEXT_READY: {
pa_operation *o; pa_operation *o;
pa_context_set_subscribe_callback(context, subscribe_cb, pm); pa_context_set_subscribe_callback(context, subscribe_cb, pm);
if (!(o = pa_context_subscribe(context, (pa_subscription_mask_t) o = pa_context_subscribe(context,
(PA_SUBSCRIPTION_MASK_SINK_INPUT), NULL, NULL))) { (pa_subscription_mask_t)PA_SUBSCRIPTION_MASK_SINK_INPUT,
NULL, NULL);
if (o == NULL) {
g_debug("pa_context_subscribe() failed"); g_debug("pa_context_subscribe() failed");
return; return;
} }
pa_operation_unref(o); pa_operation_unref(o);
o = pa_context_get_sink_input_info_list(context,
if (!(o = pa_context_get_sink_input_info_list(context, sink_input_cb, pm))) { sink_input_cb, pm);
if (o == NULL) {
g_debug("pa_context_get_sink_input_info_list() failed"); g_debug("pa_context_get_sink_input_info_list() failed");
return; return;
} }
pa_operation_unref(o);
pa_operation_unref(o);
pa_threaded_mainloop_signal(pm->mainloop, 0); pa_threaded_mainloop_signal(pm->mainloop, 0);
break; break;
@ -160,7 +177,7 @@ pulse_mixer_init(const struct config_param *param)
struct pulse_mixer *pm = g_new(struct pulse_mixer,1); struct pulse_mixer *pm = g_new(struct pulse_mixer,1);
mixer_init(&pm->base, &pulse_mixer); mixer_init(&pm->base, &pulse_mixer);
pm->online=false; pm->online = false;
pm->server = config_get_block_string(param, "server", NULL); pm->server = config_get_block_string(param, "server", NULL);
pm->sink = config_get_block_string(param, "sink", NULL); pm->sink = config_get_block_string(param, "sink", NULL);
@ -213,18 +230,21 @@ static bool
pulse_mixer_open(G_GNUC_UNUSED struct mixer *data) pulse_mixer_open(G_GNUC_UNUSED struct mixer *data)
{ {
struct pulse_mixer *pm = (struct pulse_mixer *) data; struct pulse_mixer *pm = (struct pulse_mixer *) data;
g_debug("pulse mixer open"); g_debug("pulse mixer open");
pm->index = 0; pm->index = 0;
pm->online = false; pm->online = false;
if(!(pm->mainloop = pa_threaded_mainloop_new())) { pm->mainloop = pa_threaded_mainloop_new();
if (pm->mainloop == NULL) {
g_debug("failed mainloop"); g_debug("failed mainloop");
return false; return false;
} }
if(!(pm->context = pa_context_new(pa_threaded_mainloop_get_api(pm->mainloop), pm->context = pa_context_new(pa_threaded_mainloop_get_api(pm->mainloop),
"Mixer mpd"))) { "Mixer mpd");
if (pm->context == NULL) {
pa_threaded_mainloop_stop(pm->mainloop); pa_threaded_mainloop_stop(pm->mainloop);
pa_threaded_mainloop_free(pm->mainloop); pa_threaded_mainloop_free(pm->mainloop);
g_debug("failed context"); g_debug("failed context");
@ -245,7 +265,7 @@ pulse_mixer_open(G_GNUC_UNUSED struct mixer *data)
static void static void
pulse_mixer_close(G_GNUC_UNUSED struct mixer *data) pulse_mixer_close(G_GNUC_UNUSED struct mixer *data)
{ {
struct pulse_mixer *pm=(struct pulse_mixer *) data; struct pulse_mixer *pm = (struct pulse_mixer *) data;
pa_threaded_mainloop_stop(pm->mainloop); pa_threaded_mainloop_stop(pm->mainloop);
pa_context_disconnect(pm->context); pa_context_disconnect(pm->context);
@ -258,18 +278,20 @@ pulse_mixer_close(G_GNUC_UNUSED struct mixer *data)
static int static int
pulse_mixer_get_volume(struct mixer *mixer) pulse_mixer_get_volume(struct mixer *mixer)
{ {
struct pulse_mixer *pm=(struct pulse_mixer *) mixer; struct pulse_mixer *pm = (struct pulse_mixer *) mixer;
int ret; int ret;
pa_operation *o; pa_operation *o;
g_debug("get_volume %s", g_debug("get_volume %s",
pm->online == TRUE ? "online" : "offline"); pm->online == TRUE ? "online" : "offline");
if(pm->online) { if (pm->online) {
if (!(o = pa_context_get_sink_input_info(pm->context, pm->index, o = pa_context_get_sink_input_info(pm->context, pm->index,
sink_input_vol, pm))) { sink_input_vol, pm);
if (o == NULL) {
g_debug("pa_context_get_sink_input_info() failed"); g_debug("pa_context_get_sink_input_info() failed");
return false; return false;
} }
pa_operation_unref(o); pa_operation_unref(o);
ret = (int)((100*(pa_cvolume_avg(&pm->volume)+1))/PA_VOLUME_NORM); ret = (int)((100*(pa_cvolume_avg(&pm->volume)+1))/PA_VOLUME_NORM);
@ -283,14 +305,17 @@ pulse_mixer_get_volume(struct mixer *mixer)
static bool static bool
pulse_mixer_set_volume(struct mixer *mixer, unsigned volume) pulse_mixer_set_volume(struct mixer *mixer, unsigned volume)
{ {
struct pulse_mixer *pm=(struct pulse_mixer *) mixer; struct pulse_mixer *pm = (struct pulse_mixer *) mixer;
pa_operation *o;
if (pm->online) {
pa_cvolume_set(&pm->volume, pm->volume.channels,
(pa_volume_t)(volume)*PA_VOLUME_NORM/100+0.5);
if (!(o = pa_context_set_sink_input_volume(pm->context, pm->index, if (pm->online) {
&pm->volume, NULL, NULL))) { pa_operation *o;
pa_cvolume_set(&pm->volume, pm->volume.channels,
(pa_volume_t)volume * PA_VOLUME_NORM / 100 + 0.5);
o = pa_context_set_sink_input_volume(pm->context, pm->index,
&pm->volume, NULL, NULL);
if (o == NULL) {
g_debug("pa_context_set_sink_input_volume() failed"); g_debug("pa_context_set_sink_input_volume() failed");
return false; return false;
} }