diff options
author | Lennart Poettering <lennart@poettering.net> | 2008-05-17 09:12:45 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2008-05-17 09:12:45 +0000 |
commit | 9b44665c08529081bc3960979e8f0ecace0059d5 (patch) | |
tree | c0b052158ea1a46b483988e085aa0f00893d8bb4 /src | |
parent | 2e71f4d015404e85079646940e73f20adec1c885 (diff) |
add new function pa_source_set_latency_range(), fix type of requested_latency
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2456 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src')
-rw-r--r-- | src/pulsecore/source.c | 19 | ||||
-rw-r--r-- | src/pulsecore/source.h | 4 |
2 files changed, 22 insertions, 1 deletions
diff --git a/src/pulsecore/source.c b/src/pulsecore/source.c index c767abcf..9425193d 100644 --- a/src/pulsecore/source.c +++ b/src/pulsecore/source.c @@ -786,4 +786,23 @@ void pa_source_invalidate_requested_latency(pa_source *s) { if (s->update_requested_latency) s->update_requested_latency(s); + + if (s->monitor_of) + pa_sink_invalidate_requested_latency(s->monitor_of); +} + +void pa_source_set_latency_range(pa_source *s, pa_usec_t min_latency, pa_usec_t max_latency) { + pa_source_assert_ref(s); + + if (min_latency == (pa_usec_t) -1) + min_latency = DEFAULT_MIN_LATENCY; + + if (max_latency == (pa_usec_t) -1) + max_latency = min_latency; + + pa_assert(!min_latency || !max_latency || + min_latency <= max_latency); + + s->min_latency = min_latency; + s->max_latency = max_latency; } diff --git a/src/pulsecore/source.h b/src/pulsecore/source.h index f9c9cbf9..d12659d7 100644 --- a/src/pulsecore/source.h +++ b/src/pulsecore/source.h @@ -111,7 +111,7 @@ struct pa_source { pa_bool_t soft_muted; pa_bool_t requested_latency_valid; - size_t requested_latency; + pa_usec_t requested_latency; /* Then number of bytes this source will be rewound for at * max */ @@ -180,6 +180,8 @@ void pa_source_set_description(pa_source *s, const char *description); void pa_source_set_asyncmsgq(pa_source *s, pa_asyncmsgq *q); void pa_source_set_rtpoll(pa_source *s, pa_rtpoll *p); +void pa_source_set_latency_range(pa_source *s, pa_usec_t min_latency, pa_usec_t max_latency); + void pa_source_detach(pa_source *s); void pa_source_attach(pa_source *s); |