LiveSession: added onSwitchDown

additionally in this change
  - AnotherPacketSource: added getEstimatedDurationUs that avoids
    looping through buffered access units in most cases; this method
    is called by LiveSession before triggering onSwitchDown. Also fix
    the original getBufferedDurationUs to accumulate durations across
    discontinuities.

Bug: 13742612
Change-Id: I135932ea0c74671b7019a3c7054844926c18bc14
4 files changed