Lines Matching refs:sink
36 #include <pulsecore/sink.h>
46 PA_MODULE_DESCRIPTION(_("Clocked NULL sink"));
50 "sink_name=<name of sink> "
51 "sink_properties=<properties for the sink> "
56 "formats=<semi-colon separated sink formats>"
66 pa_sink *sink;
145 /* If sink was suspended to change sample formats, both
201 rewind_nbytes = u->sink->thread_info.rewind_nbytes;
203 if (!PA_SINK_IS_OPENED(u->sink->thread_info.state) || rewind_nbytes <= 0)
212 in_buffer = pa_usec_to_bytes(delay, &u->sink->sample_spec);
220 pa_sink_process_rewind(u->sink, rewind_nbytes);
221 u->timestamp -= pa_bytes_to_usec(rewind_nbytes, &u->sink->sample_spec);
228 pa_sink_process_rewind(u->sink, 0);
238 queued. Hence: at maximum read this many bytes from the sink
246 request_size = pa_usec_to_bytes(now + u->block_usec - u->timestamp, &u->sink->sample_spec);
247 request_size = PA_MIN(request_size, u->sink->thread_info.max_request);
248 pa_sink_render(u->sink, request_size, &chunk);
253 u->timestamp += pa_bytes_to_usec(chunk.length, &u->sink->sample_spec);
257 if (ate >= u->sink->thread_info.max_request)
282 if (PA_SINK_IS_OPENED(u->sink->thread_info.state))
285 if (PA_UNLIKELY(u->sink->thread_info.rewind_requested))
289 if (PA_SINK_IS_OPENED(u->sink->thread_info.state)) {
388 u->sink = pa_sink_new(m->core, &data, PA_SINK_LATENCY | PA_SINK_DYNAMIC_LATENCY | PA_SINK_SET_FORMATS);
391 if (!u->sink) {
392 pa_log("Failed to create sink object.");
396 u->sink->parent.process_msg = sink_process_msg;
397 u->sink->set_state_in_io_thread = sink_set_state_in_io_thread_cb;
398 u->sink->update_requested_latency = sink_update_requested_latency_cb;
399 u->sink->reconfigure = sink_reconfigure_cb;
400 u->sink->get_formats = sink_get_formats_cb;
401 u->sink->set_formats = sink_set_formats_cb;
402 u->sink->userdata = u;
404 pa_sink_set_asyncmsgq(u->sink, u->thread_mq.inq);
405 pa_sink_set_rtpoll(u->sink, u->rtpoll);
414 nbytes = pa_usec_to_bytes(u->block_usec, &u->sink->sample_spec);
417 pa_sink_set_max_rewind(u->sink, 0);
419 pa_sink_set_max_rewind(u->sink, nbytes);
422 pa_sink_set_max_request(u->sink, nbytes);
424 if (!(u->thread = pa_thread_new("null-sink", thread_func, u))) {
429 pa_sink_set_latency_range(u->sink, 0, u->block_usec);
431 pa_sink_put(u->sink);
452 return pa_sink_linked_by(u->sink);
463 if (u->sink)
464 pa_sink_unlink(u->sink);
473 if (u->sink)
474 pa_sink_unref(u->sink);