Skip to content

r2.18.3

Compare
Choose a tag to compare
@christosts christosts released this 22 Feb 09:36
· 3885 commits to release-v2 since this release
  • Core library:
    • Tweak the renderer's decoder ordering logic to uphold the MediaCodecSelector's preferences, even if a decoder reports it may not be able to play the media performantly. For example with default selector, hardware decoder with only functional support will be preferred over software decoder that fully supports the format (#10604).
    • Add ExoPlayer.Builder.setPlaybackLooper that sets a pre-existing playback thread for a new ExoPlayer instance.
    • Allow download manager helpers to be cleared (#10776).
    • Add parameter to BasePlayer.seekTo to also indicate the command used for seeking.
    • Use theme when loading drawables on API 21+ (#220).
    • Add ConcatenatingMediaSource2 that allows combining multiple media items into a single window (#247).
  • Extractors:
    • Throw a ParserException instead of a NullPointerException if the sample table (stbl) is missing a required sample description (stsd) when parsing trak atoms.
    • Correctly skip samples when seeking directly to a sync frame in fMP4 (#10941).
  • Audio:
    • Use the compressed audio format bitrate to calculate the min buffer size for AudioTrack in direct playbacks (passthrough).
  • Text:
    • Fix TextRenderer passing an invalid (negative) index to Subtitle.getEventTime if a subtitle file contains no cues.
    • SubRip: Add support for UTF-16 files if they start with a byte order mark.
  • Metadata:
    • Parse multiple null-separated values from ID3 frames, as permitted by ID3 v2.4.
    • Add MediaMetadata.mediaType to denote the type of content or the type of folder described by the metadata.
    • Add MediaMetadata.isBrowsable as a replacement for MediaMetadata.folderType. The folder type will be deprecated in the next release.
  • DASH:
    • Add full parsing for image adaptation sets, including tile counts (#3752).
  • UI:
    • Fix the deprecated StyledPlayerView.setControllerVisibilityListener(StyledPlayerControlView.VisibilityListener) to ensure visibility changes are passed to the registered listener (#229).
    • Fix the ordering of the center player controls in StyledPlayerView when using a right-to-left (RTL) layout (#227).
  • Cast extension:
    • Bump Cast SDK version to 21.2.0.
  • IMA extension:
    • Remove player listener of the ImaServerSideAdInsertionMediaSource on the application thread to avoid threading issues.
    • Add a property focusSkipButtonWhenAvailable to the ImaServerSideAdInsertionMediaSource.AdsLoader.Builder to request focusing the skip button on TV devices and set it to true by default.
    • Add a method focusSkipButton() to the ImaServerSideAdInsertionMediaSource.AdsLoader to programmatically request to focus the skip button.
    • Fix a bug which prevented playback from starting for a DAI stream without any ads.
    • Bump IMA SDK version to 3.29.0.
  • Demo app:
    • Request notification permission for download notifications at runtime (#10884).