
1. Currently, we may throw source info refresh errors while the previous media period is still playing. 2. We don't throw if the next period in a playlist fails to prepare and the previous renderers are all disabled. 3. We throw source info refresh errors for playlists before playback reaches the culprit source. This change: 1. Defers the exceptions until all existing media periods have been played. 2. Checks for period preparation exception if the next period is not getting prepared and the renderer time reached the next period. 3. Does no longer throw from ConcatenatingMediaSource.maybeThrowSourceInfo RefreshError. The deferred media periods take care of that for each source individually. Issue:#4661 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=211819436
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.