Tested. This secret patch (which essentially provides a new rate
controller based on the rate estimator, used when the old deadband
logic snaps) with adjust_time=1 yields https://imgur.com/a/xTFmQ .
It's a pity that the deadband logic sometimes unsnaps spuriously, so
I changed the 2.5 in the deadband condition with 5.0. Result:
https://imgur.com/a/WKsT7 , looks better than the original deadband
logic, but I'd say this needs more investigation (and experiments)
from my side, because it is not clear whether these oscillations will
eventually decay. I will lok more into this on weekends.
It is not a "spuriously unsnapping" but part of the regulation
process. In my opinion the phase jump
comes first and then the controller kicks in to correct it. Take a
look at the reported latency values
when you run with debugging: First there is a jump in the latency and
then the controller reacts. That
is exactly how it is supposed to be. It also looks like those jumps
are no artifacts because the next
reported value is consistent with the regulation. I believe this is
somehow connected to changing
the sample rate (by only 1 Hz) because it does not occur when the rate
is kept constant.
Maybe the hardware sometimes takes a millisecond to switch the rate.
I wonder how good you think we can get. Even including the jump, the
latency is kept within
around 500 usec of the expected value, if you disregard the peak we
are talking about 200 usec.
I think I found the reason for the remaining issues with the regulation.
It looks like there
is some latency hidden in the resampler which is not taken into account.
If I set the resampling method to trivial everything is working fine and
the latency error
nearly disappears. With the standard resampler I occasionally see
latency jumps of about
1 ms when the rate is switched. Those jumps completely disappear with
the trivial resampler.
Alexander, could you please re-test with the trivial resampler?
Any idea how to retrieve the required information from the resampler?
_______________________________________________
pulseaudio-discuss mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss