Commit 042c1abc authored by Max Kellermann's avatar Max Kellermann

output/pulse: use _delete_context()

Eliminate duplicate code.
parent 3d12d7de
...@@ -225,6 +225,20 @@ pulse_output_connect(struct pulse_output *po, GError **error_r) ...@@ -225,6 +225,20 @@ pulse_output_connect(struct pulse_output *po, GError **error_r)
} }
/** /**
* Frees and clears the context.
*/
static void
pulse_output_delete_context(struct pulse_output *po)
{
assert(po != NULL);
assert(po->context != NULL);
pa_context_disconnect(po->context);
pa_context_unref(po->context);
po->context = NULL;
}
/**
* Create, set up and connect a context. * Create, set up and connect a context.
* *
* @return true on success, false on error * @return true on success, false on error
...@@ -249,28 +263,13 @@ pulse_output_setup_context(struct pulse_output *po, GError **error_r) ...@@ -249,28 +263,13 @@ pulse_output_setup_context(struct pulse_output *po, GError **error_r)
pulse_output_subscribe_cb, po); pulse_output_subscribe_cb, po);
if (!pulse_output_connect(po, error_r)) { if (!pulse_output_connect(po, error_r)) {
pa_context_unref(po->context); pulse_output_delete_context(po);
po->context = NULL;
return false; return false;
} }
return true; return true;
} }
/**
* Frees and clears the context.
*/
static void
pulse_output_delete_context(struct pulse_output *po)
{
assert(po != NULL);
assert(po->context != NULL);
pa_context_disconnect(po->context);
pa_context_unref(po->context);
po->context = NULL;
}
static void * static void *
pulse_output_init(G_GNUC_UNUSED const struct audio_format *audio_format, pulse_output_init(G_GNUC_UNUSED const struct audio_format *audio_format,
const struct config_param *param, const struct config_param *param,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment