Make default retry count public.
Allow non-strict webvtt parsing.
Merge pull request #172 from google/dev

dev -> dev-hls
Merge HLS playlist parsers, make a single parser identify the
playlist type (master or media).

Issue: #155
Improve HLS ABR.

- Add options to switch abruptly at segment boundaries. Third
  parties who guarantee keyframes at the start of segments will
  want this, because it makes switching more efficient and hence
  rebuffering less likely.
- Switch quality faster when performing a splicing switch (when
  we detect that we need to switch variant, we now immediately
  request the same segment as we did last time for the new variant,
  rather than requesting one more segment for the old variant
  before doing this.
HLS: More control over buffering + tweak caption impl.

- Move all three buffering constants to a single class (the
  chunk source).
- Increase the target buffer to 40s for increased robustness
  against temporary network blips.
- Make values configurable via the chunk source constructor.
- Treat captions as a text track for HLS. This allows them to
  be enabled/disabled through the demo app UI.

Issue: #165
Support SmoothStreaming repeated chunk tags.
Enhance parsing of xs:duration to support year/month/day.
Fix timestamp rollover issue for DASH live.

The timestamp scaling in SegmentBase.getSegmentTimeUs was
overflowing for some streams. Apply a similar trick to that
applied in the SmoothStreaming case to fix it.
Add VSYNC aligning smooth frame release helper.
Merge pull request #176 from google/dev

dev -> dev-hls
Get Exo+HLS memory usage more under control.

- Split sample pools for video/audio/misc, since the typical
  required sample sizes are very different (and so it becomes
  inefficient to use a sample sized for video to hold audio).
- Add TODO for further improvements.

Issue: #174
Make sure SmoothStreaming manifest durations are -1 for Live.

Plus start to properly document the SmoothStreaming package.
Note that where the documentation is a little vague, this is
because the original SmoothStreaming documentation is equally
vague!
Make single MICROS_PER_SECOND constant + use it everywhere.
Fixed issue in which setting a representation duration to unknown wasn't handled correctly.
Audio improvements.
Implement DASH Live.

Note: This adds support for the majority of DASH live streams,
however we do not yet correctly support live streams that rely
on UtcTimingElements in their manifests.

Issue: #52
Merge branch 'dev' into dev-hls
Use C constants + minor cleanup.
Fix #187