HLS: allow pause/resume in the middle of a segment

- when down switching, decide whether to finish current segment
  based on bandwidth settings, abort current segment if needed.

- when switching, pause new fetcher after the first 47K chunk,
  and go back to resume old fethcer to stop point immediately.

- when old fetcher reaches stop point, swap packet sources and
  resume new fetcher.

- mark switching as done as soon as old fecther reaches stop
  point. This allows us to resume bandwidth monitoring earlier,
  and do subsequent switches sooner.

bug: 19567254
Change-Id: Iba4b5fb9b06541bb1e49592536648f5d4cbc69ab
7 files changed