<commit_before># Release notes #

### r2.1.1 ###

Bugfix release only. Users of r2.1.0 and r2.0.x should proactively update to
this version.

* Fix some subtitle types (e.g. WebVTT) being displayed out of sync
  ([#2208](https://github.com/google/ExoPlayer/issues/2208)).
* Fix incorrect position reporting for on-demand HLS media that includes
  EXT-X-PROGRAM-DATE-TIME tags
  ([#2224](https://github.com/google/ExoPlayer/issues/2224)).
* Fix issue where playbacks could get stuck in the initial buffering state if
  over 1MB of data needs to be read to initialize the playback.

### r2.1.0 ###

* HLS: Support for seeking in live streams
  ([#87](https://github.com/google/ExoPlayer/issues/87)).
* HLS: Improved support:
 * Support for EXT-X-PROGRAM-DATE-TIME
   ([#747](https://github.com/google/ExoPlayer/issues/747)).
 * Improved handling of sample timestamps and their alignment across variants
   and renditions.
 * Fix issue that could cause playbacks to get stuck in an endless initial
   buffering state.
 * Correctly propagate BehindLiveWindowException instead of
   IndexOutOfBoundsException exception
   ([#1695](https://github.com/google/ExoPlayer/issues/1695)).
* MP3/MP4: Support for ID3 metadata, including embedded album art
  ([#979](https://github.com/google/ExoPlayer/issues/979)).
* Improved customization of UI components. You can read about customization of
  ExoPlayer's UI components
  [here](https://medium.com/google-exoplayer/customizing-exoplayers-ui-components-728cf55ee07a#.9ewjg7avi).
* Robustness improvements when handling MediaSource timeline changes and
  MediaPeriod transitions.
* EIA608: Support for caption styling and positioning.
* MPEG-TS: Improved support:
 * Support injection of custom TS payload readers.
 * Support injection of custom section payload readers.
 * Support SCTE-35 splice information messages.
 * Support multiple table sections in a single PSI section.
 * Fix NullPointerException when an unsupported stream type is encountered
   ([#2149](https://github.com/google/ExoPlayer/issues/2149)).
 * Avoid failure when expected ID3 header not found
   ([#1966](https://github.com/google/ExoPlayer/issues/1966)).
* Improvements to the upstream cache package.
 * Support caching of media segments for DASH, HLS and SmoothStreaming. Note
   that caching of manifest and playlist files is still not supported in the
   (normal) case where the corresponding responses are compressed.
 * Support caching for ExtractorMediaSource based playbacks.
* Improved flexibility of SimpleExoPlayer
  ([#2102](https://github.com/google/ExoPlayer/issues/2102)).
* Fix issue where only the audio of a video would play due to capability
  detection issues ([#2007](https://github.com/google/ExoPlayer/issues/2007))
  ([#2034](https://github.com/google/ExoPlayer/issues/2034))
  ([#2157](https://github.com/google/ExoPlayer/issues/2157)).
* Fix issues that could cause ExtractorMediaSource based playbacks to get stuck
  buffering ([#1962](https://github.com/google/ExoPlayer/issues/1962)).
* Correctly set SimpleExoPlayerView surface aspect ratio when an active player
  is attached ([#2077](https://github.com/google/ExoPlayer/issues/1976)).
* OGG: Fix playback of short OGG files
  ([#1976](https://github.com/google/ExoPlayer/issues/1976)).
* MP4: Support `.mp3` tracks
  ([#2066](https://github.com/google/ExoPlayer/issues/2066)).
* SubRip: Don't fail playbacks if SubRip file contains negative timestamps
  ([#2145](https://github.com/google/ExoPlayer/issues/2145)).
* Misc bugfixes.

### r2.0.4 ###

* Fix crash on Jellybean devices when using playback controls
  ([#1965](https://github.com/google/ExoPlayer/issues/1965)).

### r2.0.3 ###

* Fix crash on Jellybean devices when using playback controls
  ([#1965](https://github.com/google/ExoPlayer/issues/1965)).<commit_msg>Fix RELEASENOTES.md<commit_after># Release notes #

### r2.1.1 ###

Bugfix release only. Users of r2.1.0 and r2.0.x should proactively update to
this version.

* Fix some subtitle types (e.g. WebVTT) being displayed out of sync
  ([#2208](https://github.com/google/ExoPlayer/issues/2208)).
* Fix incorrect position reporting for on-demand HLS media that includes
  EXT-X-PROGRAM-DATE-TIME tags
  ([#2224](https://github.com/google/ExoPlayer/issues/2224)).
* Fix issue where playbacks could get stuck in the initial buffering state if
  over 1MB of data needs to be read to initialize the playback.

### r2.1.0 ###

* HLS: Support for seeking in live streams
  ([#87](https://github.com/google/ExoPlayer/issues/87)).
* HLS: Improved support:
 * Support for EXT-X-PROGRAM-DATE-TIME
   ([#747](https://github.com/google/ExoPlayer/issues/747)).
 * Improved handling of sample timestamps and their alignment across variants
   and renditions.
 * Fix issue that could cause playbacks to get stuck in an endless initial
   buffering state.
 * Correctly propagate BehindLiveWindowException instead of
   IndexOutOfBoundsException exception
   ([#1695](https://github.com/google/ExoPlayer/issues/1695)).
* MP3/MP4: Support for ID3 metadata, including embedded album art
  ([#979](https://github.com/google/ExoPlayer/issues/979)).
* Improved customization of UI components. You can read about customization of
  ExoPlayer's UI components
  [here](https://medium.com/google-exoplayer/customizing-exoplayers-ui-components-728cf55ee07a#.9ewjg7avi).
* Robustness improvements when handling MediaSource timeline changes and
  MediaPeriod transitions.
* EIA608: Support for caption styling and positioning.
* MPEG-TS: Improved support:
 * Support injection of custom TS payload readers.
 * Support injection of custom section payload readers.
 * Support SCTE-35 splice information messages.
 * Support multiple table sections in a single PSI section.
 * Fix NullPointerException when an unsupported stream type is encountered
   ([#2149](https://github.com/google/ExoPlayer/issues/2149)).
 * Avoid failure when expected ID3 header not found
   ([#1966](https://github.com/google/ExoPlayer/issues/1966)).
* Improvements to the upstream cache package.
 * Support caching of media segments for DASH, HLS and SmoothStreaming. Note
   that caching of manifest and playlist files is still not supported in the
   (normal) case where the corresponding responses are compressed.
 * Support caching for ExtractorMediaSource based playbacks.
* Improved flexibility of SimpleExoPlayer
  ([#2102](https://github.com/google/ExoPlayer/issues/2102)).
* Fix issue where only the audio of a video would play due to capability
  detection issues ([#2007](https://github.com/google/ExoPlayer/issues/2007))
  ([#2034](https://github.com/google/ExoPlayer/issues/2034))
  ([#2157](https://github.com/google/ExoPlayer/issues/2157)).
* Fix issues that could cause ExtractorMediaSource based playbacks to get stuck
  buffering ([#1962](https://github.com/google/ExoPlayer/issues/1962)).
* Correctly set SimpleExoPlayerView surface aspect ratio when an active player
  is attached ([#2077](https://github.com/google/ExoPlayer/issues/2077)).
* OGG: Fix playback of short OGG files
  ([#1976](https://github.com/google/ExoPlayer/issues/1976)).
* MP4: Support `.mp3` tracks
  ([#2066](https://github.com/google/ExoPlayer/issues/2066)).
* SubRip: Don't fail playbacks if SubRip file contains negative timestamps
  ([#2145](https://github.com/google/ExoPlayer/issues/2145)).
* Misc bugfixes.

### r2.0.4 ###

* Fix crash on Jellybean devices when using playback controls
  ([#1965](https://github.com/google/ExoPlayer/issues/1965)).

### r2.0.3 ###

* Fix crash on Jellybean devices when using playback controls
  ([#1965](https://github.com/google/ExoPlayer/issues/1965)).
{'fraction_non_alphanumeric': 0.11679309442845932, 'fraction_numerical': 0.04760659168192519, 'mean_word_length': 4.545322697606961, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 40, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5473804', 'n_tokens_mistral': 2535, 'n_tokens_neox': 2259, 'n_words': 706}