On 17.01.2016 14:40, Tanu Kaskinen wrote:
On Sat, 2016-01-16 at 23:22 +0100, Georg Chini wrote:
Hello,

I have been working on a new version of module-loopback for quite a
while now.
I am also replacing the smoother in alsa-source and alsa-sink to achieve
more
precise latency reports.
Now I hit a problem, were I am not sure how to solve it. The get_latency
calls
of alsa-sink and alsa-source truncate the latency to 0 when it becomes
negative.
Would it be possible to let the calls return negative values?
Due to the error in the initial conditions those values still make sense
and clipping
them causes massive problems for the rate controller of module-loopback.

If it is not possible to let the calls return negative values, do you
have any other
idea how to work around the problem?
Reporting negative latency doesn't make sense, since it implies time
travel. Where do those negative latency values come from?

I know it requires time travel ...
Negative values are due to the fact that you have to assume
some point in time as the starting point. In my new code this
is done directly while the smoother does the same more indirectly
(and also delivers negative values).
At that starting point, a certain number of samples have already been
played or recorded. If that number has an error, you can get negative
latency values (which are in the order of a few hundred usec).

Filtering out obviously incorrect values seems appropriate for most use
cases. If you really need access to "unfiltered" values, maybe
pa_sink_get_latency() could have an "allow_negative" parameter or
something similar.

Wouldn't that require changes also on the client side? Or do clients never
call this function directly? Would it perhaps make sense to add a
pa_sink_get_unfiltered_latency() call?

BTW, the problem is rather on the source side. Due to the way the latency
snapshots are obtained in module-loopback, the source always reports near
zero latency.


--
Tanu

_______________________________________________
pulseaudio-discuss mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Reply via email to