TsExtractor: Account for frame cropping when parsing SPS

Passing uncropped dimensions to certain decoders will make them
output frames without proper cropping set.

Signed-off-by: Jonas Larsson <jonas@hallerud.se>
Minimize memory leak risks.

Remove implicit back-reference from playback thread to player.
Use new MediaCodecList APIs on L.
Add support for extracting Vorbis audio in WebM Extractor.
Add missing class.
Add receiver for HDMI plugged-in configuration changes.
Factor out AudioTrack from MediaCodecAudioTrackRenderer.

AudioTrack contains the portions of MediaCodecAudioTrackRenderer that handle the
platform AudioTrack instance, including synchronization (playback position
smoothing), non-blocking writes and releasing.

This refactoring should not affect the behavior of audio playback, and is in
preparation for adding an Ac3PassthroughAudioTrackRenderer that will use the
AudioTrack.
MediaCodecTrackRenderer: Avoid excessive garbage generation

Looking up a long in a HashSet<Long> auto boxes the long and leaves
it for the GC. As decodeOnly is relatively infrequent it's much
better to do a simple linear search in a List<Long>. That way
we can avoid boxing every incoming time stamp value. In the general
case this will be linear searching in an empty list, a very fast
operation.

Signed-off-by: Jonas Larsson <jonas@hallerud.se>
Additional IV fix. Trim sign bit from BigInteger.toByteArray() output, if it creates a 17th byte for it. #145
Revert "EncryptionKeyChunk: Don't try to parse too big values as Integer"

This reverts commit 2661bca711278b718fdf11c81bacb08b4b7ec87d.
Merge remote-tracking branch 'upstream/dev-hls' into dev-hls
Merge pull request #149 from google/dev

dev -> dev-hls
Seamless splicing for adaptive HLS.
Bring internal/external branches closer.

- Unredact internal error ids.
- Move images.
Fix renderer count.

Issue: #153
Merge pull request #146 from jonasl/dev-hls-crop

TsExtractor: Account for frame cropping when parsing SPS
Merge pull request #147 from jonasl/dev-gc

MediaCodecTrackRenderer: Avoid excessive garbage generation
Merge pull request #154 from google/dev

Merge dev -> dev-hls
Revert "MediaCodecAudioTrackRenderer: Fix AV sync drift, change time anchor"

This reverts commit 8b49772f74863b9942fa86aea0e5d673bec70eb6.
Revert "HlsChunkSource: Don't reload the same chunk twice when switching variants"

This reverts commit 25c6b3ac6cd87d6ad7222302276e77b6223502bc.