Lines Matching refs:sink

42 #include <pulsecore/sink.h>
53 PA_MODULE_DESCRIPTION("UNIX pipe sink");
57 "sink_name=<name for the sink> "
58 "sink_properties=<properties for the sink> "
73 pa_sink *sink;
130 *((int64_t*) data) = pa_bytes_to_usec(n, &u->sink->sample_spec);
155 pa_log_debug("Pipe-sink continuously dropping data - clear statistics (%zu -> 0 bytes dropped)", u->bytes_dropped);
240 pa_sink_render(u->sink, u->sink->thread_info.max_request, &chunk);
249 u->timestamp += pa_bytes_to_usec(chunk.length, &u->sink->sample_spec);
254 pa_log_debug("Pipe-sink continuously dropped %zu bytes", u->bytes_dropped);
259 pa_log_debug("Pipe-sink just dropped %zu bytes", dropped);
265 if (consumed >= u->sink->thread_info.max_request)
274 pa_sink_render(u->sink, u->buffer_size, &u->memchunk);
327 if (PA_SINK_IS_OPENED(u->sink->thread_info.state))
330 if (PA_UNLIKELY(u->sink->thread_info.rewind_requested))
331 pa_sink_process_rewind(u->sink, 0);
334 if (PA_SINK_IS_OPENED(u->sink->thread_info.state)) {
375 if (PA_UNLIKELY(u->sink->thread_info.rewind_requested))
376 pa_sink_process_rewind(u->sink, 0);
379 if (PA_SINK_IS_OPENED(u->sink->thread_info.state)) {
389 pollfd->events = (short) (u->sink->thread_info.state == PA_SINK_RUNNING ? POLLOUT : 0);
497 pa_proplist_setf(data.proplist, PA_PROP_DEVICE_DESCRIPTION, "Unix FIFO sink %s", u->filename);
508 u->sink = pa_sink_new(m->core, &data, PA_SINK_LATENCY|PA_SINK_DYNAMIC_LATENCY);
510 u->sink = pa_sink_new(m->core, &data, PA_SINK_LATENCY);
513 if (!u->sink) {
514 pa_log("Failed to create sink.");
518 u->sink->parent.process_msg = sink_process_msg;
519 u->sink->set_state_in_io_thread = sink_set_state_in_io_thread_cb;
521 u->sink->update_requested_latency = sink_update_requested_latency_cb;
522 u->sink->userdata = u;
524 pa_sink_set_asyncmsgq(u->sink, u->thread_mq.inq);
525 pa_sink_set_rtpoll(u->sink, u->rtpoll);
529 u->buffer_size = pa_frame_align(pa_pipe_buf(u->fd), &u->sink->sample_spec);
531 u->block_usec = pa_bytes_to_usec(u->buffer_size, &u->sink->sample_spec);
532 pa_sink_set_latency_range(u->sink, 0, u->block_usec);
535 pa_sink_set_fixed_latency(u->sink, pa_bytes_to_usec(u->buffer_size, &u->sink->sample_spec));
538 pa_sink_set_max_request(u->sink, u->buffer_size);
545 if (!(u->thread = pa_thread_new("pipe-sink", thread_routine, u))) {
550 pa_sink_put(u->sink);
571 return pa_sink_linked_by(u->sink);
582 if (u->sink)
583 pa_sink_unlink(u->sink);
592 if (u->sink)
593 pa_sink_unref(u->sink);