Lines Matching defs:source
30 #include <pulsecore/source.h>
35 PA_MODULE_DESCRIPTION(_("Always keeps at least one source loaded even if it's a null one"));
39 "source_name=<name of source>");
54 static void load_null_source_if_needed(pa_core *c, pa_source *source, struct userdata* u) {
64 return; /* We've already got a null-source loaded */
67 * sources. Ignore the source passed in (if it's not null), and
70 if (!source || ((target != source) && !pa_source_is_filter(target) && target->monitor_of == NULL))
76 pa_log_debug("Autoloading null-source as no other sources detected.");
81 pa_module_load(&m, c, "module-null-source", t);
88 pa_log_warn("Unable to load module-null-source");
91 static pa_hook_result_t put_hook_callback(pa_core *c, pa_source *source, void* userdata) {
95 pa_assert(source);
106 /* Auto-loaded null-source not active, so ignoring newly detected source. */
111 if (source->module && source->module->index == u->null_module)
114 /* We don't count filter or monitor sources since they need a real source */
115 if (pa_source_is_filter(source) || source->monitor_of != NULL)
118 pa_log_info("A new source has been discovered. Unloading null-source.");
126 static pa_hook_result_t unlink_hook_callback(pa_core *c, pa_source *source, void* userdata) {
130 pa_assert(source);
133 /* First check to see if it's our own null-source that's been removed... */
134 if (u->null_module != PA_INVALID_INDEX && source->module && source->module->index == u->null_module) {
135 pa_log_debug("Autoloaded null-source removed");
144 load_null_source_if_needed(c, source, u);