mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-10-29 05:40:23 -04:00
core: add functions to query max_rewind/max_request values from streams
This commit is contained in:
parent
9a95fe49c8
commit
5ee4069e9e
4 changed files with 33 additions and 0 deletions
|
|
@ -802,6 +802,25 @@ void pa_sink_input_process_rewind(pa_sink_input *i, size_t nbytes /* in sink sam
|
|||
i->thread_info.dont_rewind_render = FALSE;
|
||||
}
|
||||
|
||||
/* Called from thread context */
|
||||
size_t pa_sink_input_get_max_rewind(pa_sink_input *i) {
|
||||
pa_sink_input_assert_ref(i);
|
||||
pa_sink_input_assert_io_context(i);
|
||||
|
||||
return i->thread_info.resampler ? pa_resampler_request(i->thread_info.resampler, i->sink->thread_info.max_rewind) : i->sink->thread_info.max_rewind;
|
||||
}
|
||||
|
||||
/* Called from thread context */
|
||||
size_t pa_sink_input_get_max_request(pa_sink_input *i) {
|
||||
pa_sink_input_assert_ref(i);
|
||||
pa_sink_input_assert_io_context(i);
|
||||
|
||||
/* We're not verifying the status here, to allow this to be called
|
||||
* in the state change handler between _INIT and _RUNNING */
|
||||
|
||||
return i->thread_info.resampler ? pa_resampler_request(i->thread_info.resampler, i->sink->thread_info.max_request) : i->sink->thread_info.max_request;
|
||||
}
|
||||
|
||||
/* Called from thread context */
|
||||
void pa_sink_input_update_max_rewind(pa_sink_input *i, size_t nbytes /* in the sink's sample spec */) {
|
||||
pa_sink_input_assert_ref(i);
|
||||
|
|
|
|||
|
|
@ -303,6 +303,10 @@ void pa_sink_input_cork(pa_sink_input *i, pa_bool_t b);
|
|||
|
||||
int pa_sink_input_set_rate(pa_sink_input *i, uint32_t rate);
|
||||
|
||||
/* This returns the sink's fields converted into out sample type */
|
||||
size_t pa_sink_input_get_max_rewind(pa_sink_input *i);
|
||||
size_t pa_sink_input_get_max_request(pa_sink_input *i);
|
||||
|
||||
/* Callable by everyone from main thread*/
|
||||
|
||||
/* External code may request disconnection with this function */
|
||||
|
|
|
|||
|
|
@ -536,6 +536,14 @@ void pa_source_output_process_rewind(pa_source_output *o, size_t nbytes /* in so
|
|||
pa_memblockq_rewind(o->thread_info.delay_memblockq, nbytes);
|
||||
}
|
||||
|
||||
/* Called from thread context */
|
||||
size_t pa_source_output_get_max_rewind(pa_source_output *o) {
|
||||
pa_source_output_assert_ref(o);
|
||||
pa_source_output_assert_io_context(o);
|
||||
|
||||
return o->thread_info.resampler ? pa_resampler_request(o->thread_info.resampler, o->source->thread_info.max_rewind) : o->source->thread_info.max_rewind;
|
||||
}
|
||||
|
||||
/* Called from thread context */
|
||||
void pa_source_output_update_max_rewind(pa_source_output *o, size_t nbytes /* in the source's sample spec */) {
|
||||
pa_source_output_assert_ref(o);
|
||||
|
|
|
|||
|
|
@ -238,6 +238,8 @@ void pa_source_output_cork(pa_source_output *o, pa_bool_t b);
|
|||
|
||||
int pa_source_output_set_rate(pa_source_output *o, uint32_t rate);
|
||||
|
||||
size_t pa_source_output_get_max_rewind(pa_source_output *o);
|
||||
|
||||
/* Callable by everyone */
|
||||
|
||||
/* External code may request disconnection with this funcion */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue