
This change fixes various issues: - MobileHarness sometimes allocated devices with SDK < 16. As we have no tests running on these SDKs, a new dimension filter for the mobile_test target ensures that only devices with SDK >= 16 are selected. A similar filter for SDK version is also added to the ABR playback tests to ensure no old devices are selected. - DRM specific tests are skipped for Api < 18, but were not able to run because the DashTestRunner class tried to link to the MediaDrm constructor. Moved the constructor to a seperate Builder class to allow execution on Api levels 16 and 17. - DashWidevineOfflineTest also tried to access code for Api >= 18 without checking the current level. - Action implementations which are waiting for events did not ensure that they have a nextAction to wait for. This caused NullPointerExceptions when this next action was scheduled. - DefaultDrmSession always restored the offline keys when a new license was requested, even if the keys were already restored. These repeated slow calls to restoreKeys resulted in high numbers of dropped buffers. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=171974859
ExoPlayer library
The ExoPlayer library is split into multiple modules. See ExoPlayer's top level README for more information about the available library modules and how to use them.