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