diff options
| author | Lennart Poettering <lennart@poettering.net> | 2009-04-10 01:26:04 +0200 | 
|---|---|---|
| committer | Lennart Poettering <lennart@poettering.net> | 2009-04-10 01:26:04 +0200 | 
| commit | f7c229d8f9a4c67ff7ef0f3d351069a45ba19aff (patch) | |
| tree | 7b7197b5996e6f77978559f91fbe0a0deae7f152 /src/pulsecore/source-output.c | |
| parent | 9ae8ca2c3754abb9b6f6ce94c414c12d87419ac0 (diff) | |
core: add a seperate fixed_latency field for sinks/sources with fixed latency
Diffstat (limited to 'src/pulsecore/source-output.c')
| -rw-r--r-- | src/pulsecore/source-output.c | 13 | 
1 files changed, 9 insertions, 4 deletions
diff --git a/src/pulsecore/source-output.c b/src/pulsecore/source-output.c index 489393a5..3ee26735 100644 --- a/src/pulsecore/source-output.c +++ b/src/pulsecore/source-output.c @@ -520,6 +520,9 @@ void pa_source_output_update_max_rewind(pa_source_output *o, size_t nbytes  /* i  pa_usec_t pa_source_output_set_requested_latency_within_thread(pa_source_output *o, pa_usec_t usec) {      pa_source_output_assert_ref(o); +    if (!(o->source->flags & PA_SOURCE_DYNAMIC_LATENCY)) +        usec = o->source->fixed_latency; +      if (usec != (pa_usec_t) -1)          usec = PA_CLAMP(usec, o->source->thread_info.min_latency, o->source->thread_info.max_latency); @@ -531,8 +534,6 @@ pa_usec_t pa_source_output_set_requested_latency_within_thread(pa_source_output  /* Called from main context */  pa_usec_t pa_source_output_set_requested_latency(pa_source_output *o, pa_usec_t usec) { -    pa_usec_t min_latency, max_latency; -      pa_source_output_assert_ref(o);      if (PA_SOURCE_OUTPUT_IS_LINKED(o->state) && o->source) { @@ -544,10 +545,14 @@ pa_usec_t pa_source_output_set_requested_latency(pa_source_output *o, pa_usec_t       * have to touch the thread info data directly */      if (o->source) { -        pa_source_get_latency_range(o->source, &min_latency, &max_latency); +        if (!(o->source->flags & PA_SOURCE_DYNAMIC_LATENCY)) +            usec = o->source->fixed_latency; -        if (usec != (pa_usec_t) -1) +        if (usec != (pa_usec_t) -1) { +            pa_usec_t min_latency, max_latency; +            pa_source_get_latency_range(o->source, &min_latency, &max_latency);              usec = PA_CLAMP(usec, min_latency, max_latency); +        }      }      o->thread_info.requested_source_latency = usec;  | 
