
- Format can represent both container and sample formats. If a container contains a single track (as is true in DASH and SmoothStreaming) then the container Format can also contain sufficient information about the samples to allow for track selection. This avoids the Format to MediaFormat conversions that we were previously doing in ChunkSource implementations. - One important result of this change is that adaptive format evaluation and static format selection now use the same format objects, which is a whole lot less confusing for someone who wants to implement both initial selection and subsequent adaptation logic. It's not in the V2 doc, but it may well make sense if the TrackSelector not only selects the tracks to enable for an adaptive playback, but also injects a FormatEvaluator when enabling them that will control the subsequent adaptive selections. That would make it so that all format selection logic originates from the same place. - As part of this change, the adaptiveX variables are removed from the format object; they don't really correspond to a single format. This also saves on having to inject the max video dimensions through a bunch of classes. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=114546777
Demo application
This folder contains a demo application that uses ExoPlayer to play a number of test streams. It can be used as a starting point or reference project when developing other applications that make use of the ExoPlayer library.