Lines Matching defs:source

31 #include <pulsecore/source-output.h>
36 PA_MODULE_DESCRIPTION("When a sink/source is idle for too long, suspend it");
55 pa_source *source;
74 if (d->source && pa_source_check_suspend(d->source, NULL) <= 0 && !(d->source->suspend_cause & PA_SUSPEND_IDLE)) {
75 pa_log_info("Source %s idle for too long, suspending ...", d->source->name);
76 pa_source_suspend(d->source, true, PA_SUSPEND_IDLE);
85 pa_assert(d->sink || d->source);
92 if (d->source)
93 pa_log_debug("Source %s becomes idle, timeout in %" PRIu64 " seconds.", d->source->name, d->timeout / PA_USEC_PER_SEC);
106 if (d->source) {
107 pa_log_debug("Source %s becomes busy, resuming.", d->source->name);
108 pa_source_suspend(d->source, false, PA_SUSPEND_IDLE);
140 if (data->source->monitor_of)
141 d = pa_hashmap_get(u->device_infos, data->source->monitor_of);
143 d = pa_hashmap_get(u->device_infos, data->source);
147 if (d->source) {
148 if (pa_source_check_suspend(d->source, NULL) <= 0)
151 /* The source output is connected to a monitor source. */
185 if (!s->source)
188 if (s->source->monitor_of) {
189 if (pa_sink_check_suspend(s->source->monitor_of, NULL, s) <= 0)
190 d = pa_hashmap_get(u->device_infos, s->source->monitor_of);
192 if (pa_source_check_suspend(s->source, s) <= 0)
193 d = pa_hashmap_get(u->device_infos, s->source);
239 if (s->source->monitor_of) {
240 if (pa_sink_check_suspend(s->source->monitor_of, NULL, s) <= 0)
241 d = pa_hashmap_get(u->device_infos, s->source->monitor_of);
243 if (pa_source_check_suspend(s->source, s) <= 0)
244 d = pa_hashmap_get(u->device_infos, s->source);
263 if (s->source->monitor_of)
264 d = pa_hashmap_get(u->device_infos, s->source->monitor_of);
266 d = pa_hashmap_get(u->device_infos, s->source);
293 if (s->state == PA_SOURCE_OUTPUT_RUNNING && s->source) {
296 if (s->source->monitor_of)
297 d = pa_hashmap_get(u->device_infos, s->source->monitor_of);
299 d = pa_hashmap_get(u->device_infos, s->source);
310 pa_source *source;
320 source = pa_source_isinstance(o) ? PA_SOURCE(o) : NULL;
324 if (source && source->monitor_of)
327 pa_assert(source || sink);
329 timeout_str = pa_proplist_gets(sink ? sink->proplist : source->proplist, "module-suspend-on-idle.timeout");
340 d->source = source ? pa_source_ref(source) : NULL;
352 (d->source && pa_source_check_suspend(d->source, NULL) <= 0))
361 if (d->source)
362 pa_source_unref(d->source);
390 * Still, when monitor source becomes idle it may happen that monitored
394 pa_log_debug("State of monitor source '%s' has changed, checking state of monitored sink", PA_SOURCE(o)->name);
424 pa_source *source;
446 PA_IDXSET_FOREACH(source, m->core->sources, idx)
447 device_new_hook_cb(m->core, PA_OBJECT(source), u);
496 if (d->source && d->source->state == PA_SOURCE_SUSPENDED) {
497 pa_log_debug("Resuming source %s on module unload.", d->source->name);
498 pa_source_suspend(d->source, false, PA_SUSPEND_IDLE);