#endif
#include <pulse/xmalloc.h>
-#include <pulse/i18n.h>
#include <pulsecore/core.h>
-#include <pulsecore/sink-input.h>
+#include <pulsecore/core-util.h>
+#include <pulsecore/i18n.h>
+#include <pulsecore/sink.h>
#include <pulsecore/modargs.h>
#include <pulsecore/log.h>
-#include <pulsecore/namereg.h>
-#include <pulsecore/core-util.h>
#include "module-always-sink-symdef.h"
PA_MODULE_AUTHOR("Colin Guthrie");
PA_MODULE_DESCRIPTION(_("Always keeps at least one sink loaded even if it's a null one"));
PA_MODULE_VERSION(PACKAGE_VERSION);
-PA_MODULE_LOAD_ONCE(TRUE);
+PA_MODULE_LOAD_ONCE(true);
PA_MODULE_USAGE(
"sink_name=<name of sink>");
struct userdata {
pa_hook_slot *put_slot, *unlink_slot;
uint32_t null_module;
- pa_bool_t ignore;
+ bool ignore;
char *sink_name;
};
/* Loop through all sinks and check to see if we have *any*
* sinks. Ignore the sink passed in (if it's not null) */
- for (target = pa_idxset_first(c->sinks, &idx); target; target = pa_idxset_next(c->sinks, &idx))
+ PA_IDXSET_FOREACH(target, c->sinks, idx)
if (!sink || target != sink)
break;
pa_log_debug("Autoloading null-sink as no other sinks detected.");
- u->ignore = TRUE;
+ u->ignore = true;
t = pa_sprintf_malloc("sink_name=%s sink_properties='device.description=\"%s\"'", u->sink_name,
_("Dummy Output"));
u->null_module = m ? m->index : PA_INVALID_INDEX;
pa_xfree(t);
- u->ignore = FALSE;
+ u->ignore = false;
if (!m)
pa_log_warn("Unable to load module-null-sink");
pa_log_info("A new sink has been discovered. Unloading null-sink.");
- pa_module_unload_request_by_index(c, u->null_module, TRUE);
+ pa_module_unload_request_by_index(c, u->null_module, true);
u->null_module = PA_INVALID_INDEX;
return PA_HOOK_OK;
u->put_slot = pa_hook_connect(&m->core->hooks[PA_CORE_HOOK_SINK_PUT], PA_HOOK_LATE, (pa_hook_cb_t) put_hook_callback, u);
u->unlink_slot = pa_hook_connect(&m->core->hooks[PA_CORE_HOOK_SINK_UNLINK], PA_HOOK_EARLY, (pa_hook_cb_t) unlink_hook_callback, u);
u->null_module = PA_INVALID_INDEX;
- u->ignore = FALSE;
+ u->ignore = false;
pa_modargs_free(ma);
if (u->unlink_slot)
pa_hook_slot_free(u->unlink_slot);
if (u->null_module != PA_INVALID_INDEX && m->core->state != PA_CORE_SHUTDOWN)
- pa_module_unload_request_by_index(m->core, u->null_module, TRUE);
+ pa_module_unload_request_by_index(m->core, u->null_module, true);
pa_xfree(u->sink_name);
pa_xfree(u);