Lines Matching defs:sink

32 #include <pulsecore/sink.h>
77 /* optional fields for uplink sink */
78 pa_sink *sink;
128 pa_log_debug("Resuming source %s, because its uplink sink became active.", u->source->name);
133 sleeping when the uplink sink is active; even if the audio is
137 /* nothing to do, if the sink becomes idle or suspended let
267 /* if uplink sink exists, pull data from there; simplify by using
269 if (u->sink && (u->sink->thread_info.state == PA_SINK_RUNNING)) {
278 pa_sink_process_rewind(u->sink, 0);
280 /* get data from the sink */
284 /* make sure we get nbytes from the sink with render_full,
286 pa_sink_render_full(u->sink, nbytes, &nchunk);
292 /* move the read pointer for sink memblockq */
310 volume was taken care of in sink and source already */
549 * module-combine-sink. Both modules base their asyncmsq on the rtpoll provided
550 * by the sink. module-loopback and combine-sink only work because they
642 /* Create optional uplink sink */
650 pa_proplist_sets(sink_data.proplist, PA_PROP_DEVICE_CLASS, "uplink sink");
663 pa_log("Failed to create sink memblockq.");
667 u->sink = pa_sink_new(m->core, &sink_data, 0); /* FIXME, sink has no capabilities */
670 if (!u->sink) {
671 pa_log("Failed to create sink.");
675 u->sink->parent.process_msg = sink_process_msg_cb;
676 u->sink->update_requested_latency = sink_update_requested_latency_cb;
677 u->sink->set_state_in_main_thread = sink_set_state_in_main_thread_cb;
678 u->sink->userdata = u;
680 pa_sink_set_asyncmsgq(u->sink, master->asyncmsgq);
681 pa_sink_set_rtpoll(u->sink, u->rtpoll);
685 nbytes = pa_usec_to_bytes(u->block_usec, &u->sink->sample_spec);
686 pa_sink_set_max_rewind(u->sink, 0);
687 pa_sink_set_max_request(u->sink, nbytes);
689 pa_sink_put(u->sink);
692 /* optional uplink sink not enabled */
693 u->sink = NULL;
743 if (u->sink) {
744 pa_sink_unlink(u->sink);
745 pa_sink_unref(u->sink);