media/library
simophin 77d8c13621
Guard against out-of-range timestamp
We've found that in our production environment, the AAC stream's timestamp exceeds the 33bit limit from time to time, when it happens, `peekId3PrivTimestamp` returns a value that is greater than `TimestampAdjuster.MAX_PTS_PLUS_ONE`, which causes a overflow in `TimestampAdjuster.adjustTsTimestamp` (overflow inside `ptsToUs`) after playing for a while . When the overflow happens, the start time of the stream becomes negative and the playback simply stucks at buffering forever.

I fully understand that the 33bit is a spec requirement, thus I asked our stream provider to correct this mistake. But in the mean time, I'd also like ExoPlayer to handle this situation more error tolerance, as in other platforms (iOS, browsers) we see more tolerance behavior.
2017-11-24 17:27:35 +13:00
..
all Tweak and add READMEs + remove refs to V1 2017-08-17 22:59:34 +01:00
core Partialy revert "Make ExtractorMediaSource timeline dynamic until duration is set" 2017-11-23 15:16:58 +00:00
dash Parse DASH manifest's publish time. 2017-11-22 18:21:13 +00:00
hls Guard against out-of-range timestamp 2017-11-24 17:27:35 +13:00
smoothstreaming Bump target API level to 27 2017-11-21 13:03:28 +00:00
ui Add reason to onTimelineChanged. 2017-11-21 13:07:46 +00: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.