core: introduce pa_{sink,source}_set_fixed_latency()

This allows us to forward the fixed latency directly from the sink to
the monitor source withut having to wait for pa_sink_put().
This commit is contained in:
Lennart Poettering 2009-05-08 01:56:21 +02:00
parent 92a6141888
commit 3766850c8b
11 changed files with 48 additions and 16 deletions

View file

@ -1276,6 +1276,21 @@ void pa_source_set_latency_range_within_thread(pa_source *s, pa_usec_t min_laten
pa_source_invalidate_requested_latency(s);
}
/* Called from main thread, before the source is put */
void pa_source_set_fixed_latency(pa_source *s, pa_usec_t latency) {
pa_source_assert_ref(s);
pa_assert(pa_source_get_state(s) == PA_SOURCE_INIT);
if (latency < ABSOLUTE_MIN_LATENCY)
latency = ABSOLUTE_MIN_LATENCY;
if (latency > ABSOLUTE_MAX_LATENCY)
latency = ABSOLUTE_MAX_LATENCY;
s->fixed_latency = latency;
}
/* Called from main thread */
size_t pa_source_get_max_rewind(pa_source *s) {
size_t r;