media/library
bachinger c4171d50cc Remove MediaSourceList.maybeThrowSourceInfoRefreshError
The method has been called from two call sites in EPII triggered by EPII.updatePeriods(). The first call site was calling it when the MediaSourceList is empty or not yet prepared. This can be removed because if empty or not prepared no source ever could have thrown yet.

The second call site was checking for potential source refresh exceptions when queue.getNextMediaPeriodInfo() returns null when trying to getting the next loading period. Looking into all reasons for why the method returns null, none of them is caused by an exception of a media source. The reasons are:

- if we are at the last period of the timeline
- if the defaultPosition of the next period in the timeline is null (if the window.durationUs == C.TIME_UNSET or defaultPositionProjectionUs is projected beyond the duration of the window)
- if we are waiting for an ad uri to arrive (period.isAdAvailable(...) == false)
- if we are waiting for the ad group count to be updated (adCountInCurrentAdGroup == C.LENGTH_UNSET)

The above reasons are not caused by a source error and may be resolved when doSomeWork is called the next time. Hence it is save to remove the calls to maybeThrowSourceInfoRefreshError().

Beside this, an actual sourceInfoRefreshError will be reported by maskingMediaSource.maybeThrowPrepareError(), which is called each time doSomeWork() is called and the playing period is not yet prepared (EPII:L836). So the player is notified by source errors that way, which confirms removing the above calls is fine.

PiperOrigin-RevId: 321331777
2020-07-24 10:35:15 +01:00
..
all Move common gradle setup to a setting file. 2020-06-26 11:13:25 +01:00
common Migrate usages of renderer constants in C.java to the Renderer ones 2020-07-24 10:33:00 +01:00
core Remove MediaSourceList.maybeThrowSourceInfoRefreshError 2020-07-24 10:35:15 +01:00
dash Release Extractor resources in DASH 2020-07-24 10:34:48 +01:00
extractor Fix sample time of partially fragmented MP4s with tfdt box 2020-07-24 10:31:12 +01:00
hls Migrate usages of DownloadHelper TrackSelector constants 2020-07-24 10:32:51 +01:00
smoothstreaming Release Extractor resources in DASH 2020-07-24 10:34:48 +01:00
ui Migrate usages of deprecated Player#set/getPlaybackParameters() 2020-07-24 10:33:36 +01:00
README.md Tweak and add READMEs + remove refs to V1 2017-08-17 22:59:34 +01:00

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.