TimedAudioTrack: Fix continuity threshold handling.
DO NOT MERGE
this change must be hand-merged into master due to directory
restructuring.
Fix issues with continuity threshold handling; notably
+ If the steady-state continuity threshold is exceeded, be sure to
clear the on-time flag. Failure to do this will result in the
system picking a new mix point which simply satisfies the
steady-state continuity threshold instead of the startup threshold.
Since we are putting a discontinuity in presentation anyway, we
really want to pick a perfect point, not just an OK point.
+ Tighten the steady-state continuity threshold. It was currently set
to 100mSec which is enormous. 4mSec (the new setting) is much more
appropriate. On systems with a VCXO (like tungsten) this should
never be wrong by more than a sample. If TimedAudioTracks are ever
to be used on VCXO-less systems, this threshold should probably be a
a parameter configurable by applications on a track by track basis
so they can make the tradeoff between allowed error and frequency of
disruptive corrections.
+ Reset the on-time flag if the mixer provides no PTS during a mix
operation. This makes for a convenient way for the HAL to reset
timed tracks when it makes changes for delay compensation across
multiple outputs.
Change-Id: I2cb23de5a3d1f75618abc1c8ab903db883837aa8
Signed-off-by: John Grossman <johngro@google.com>
1 file changed