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

Reply via email to