mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-03 09:01:50 -05:00
sink: Remove an incorrect FIXME comment.
The problem that the comment mentions doesn't actually exist, because when the sink latency is changed to a smaller value, the sink implementor will request the required rewind.
This commit is contained in:
parent
352130f850
commit
34ab73b9ac
1 changed files with 15 additions and 15 deletions
|
|
@ -2426,8 +2426,16 @@ int pa_sink_process_msg(pa_msgobject *o, int code, void *userdata, int64_t offse
|
||||||
|
|
||||||
pa_sink_input_set_state_within_thread(i, i->state);
|
pa_sink_input_set_state_within_thread(i, i->state);
|
||||||
|
|
||||||
/* The requested latency of the sink input needs to be
|
/* The requested latency of the sink input needs to be fixed up and
|
||||||
* fixed up and then configured on the sink */
|
* then configured on the sink. If this causes the sink latency to
|
||||||
|
* go down, the sink implementor is responsible for doing a rewind
|
||||||
|
* in the update_requested_latency() callback to ensure that the
|
||||||
|
* sink buffer doesn't contain more data than what the new latency
|
||||||
|
* allows.
|
||||||
|
*
|
||||||
|
* XXX: Does it really make sense to push this responsibility to
|
||||||
|
* the sink implementors? Wouldn't it be better to do it once in
|
||||||
|
* the core than many times in the modules? */
|
||||||
|
|
||||||
if (i->thread_info.requested_sink_latency != (pa_usec_t) -1)
|
if (i->thread_info.requested_sink_latency != (pa_usec_t) -1)
|
||||||
pa_sink_input_set_requested_latency_within_thread(i, i->thread_info.requested_sink_latency);
|
pa_sink_input_set_requested_latency_within_thread(i, i->thread_info.requested_sink_latency);
|
||||||
|
|
@ -2438,19 +2446,11 @@ int pa_sink_process_msg(pa_msgobject *o, int code, void *userdata, int64_t offse
|
||||||
/* We don't rewind here automatically. This is left to the
|
/* We don't rewind here automatically. This is left to the
|
||||||
* sink input implementor because some sink inputs need a
|
* sink input implementor because some sink inputs need a
|
||||||
* slow start, i.e. need some time to buffer client
|
* slow start, i.e. need some time to buffer client
|
||||||
* samples before beginning streaming. */
|
* samples before beginning streaming.
|
||||||
|
*
|
||||||
/* FIXME: Actually rewinding should be requested before
|
* XXX: Does it really make sense to push this functionality to
|
||||||
* updating the sink requested latency, because updating
|
* the sink implementors? Wouldn't it be better to do it once in
|
||||||
* the requested latency updates also max_rewind of the
|
* the core than many times in the modules? */
|
||||||
* sink. Now consider this: a sink has a 10 s buffer and
|
|
||||||
* nobody has requested anything less. Then a new stream
|
|
||||||
* appears while the sink buffer is full. The new stream
|
|
||||||
* requests e.g. 100 ms latency. That request is forwarded
|
|
||||||
* to the sink, so now max_rewind is 100 ms. When a rewind
|
|
||||||
* is requested, the sink will only rewind 100 ms, and the
|
|
||||||
* new stream will have to wait about 10 seconds before it
|
|
||||||
* becomes audible. */
|
|
||||||
|
|
||||||
/* In flat volume mode we need to update the volume as
|
/* In flat volume mode we need to update the volume as
|
||||||
* well */
|
* well */
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue