This release includes the following changes since the 1.4.0-beta01 release:
- Common Library:
- Add
Format.customDatato store app-provided custom information aboutFormatinstances.
- Add
- ExoPlayer:
- Fix some audio focus inconsistencies, e.g. not reporting full or transient focus loss while the player is paused (#1436).
- Fix potential
IndexOutOfBoundsExceptioncaused by extractors reporting additional tracks after the initial preparation step (#1476). EffectsinExoPlayer.setVideoEffect()will receive the timestamps with the renderer offset removed (#1098).- Fix potential
IllegalArgumentExceptionwhen handling player error that happened while reading ahead into another playlist item (#1483).
- Text:
- Fix an
IllegalArgumentExceptionfromLegacySubtitleUtilwhen a WebVTT subtitle sample contains no cues, e.g. as part of a DASH stream (#1516).
- Fix an
- Session:
- Allow the session activity to be set per controller to override the global session activity. The session activity can be defined for a controller at connection time by creating a
ConnectionResultwithAcceptedResultBuilder.setSessionActivivty(PendingIntent). Once connected, the session activity can be updated withMediaSession.setSessionActivity(ControllerInfo, PendingIntent). - Improve error replication of calls to
MediaLibrarySession.Callback. Error replication can now be configured by usingMediaLibrarySession.Builder.setLibraryErrorReplicationMode()for choosing the error type or opt-ing out of error replication which is on by default.
- Allow the session activity to be set per controller to override the global session activity. The session activity can be defined for a controller at connection time by creating a
- UI:
- Work around a platform bug causing stretched/cropped video when using
SurfaceViewinside a ComposeAndroidViewon API 34 (#1237).
- Work around a platform bug causing stretched/cropped video when using
- Demo app:
- Use
HttpEngineDataSourceas theHttpDataSourcewhen supported by the device.
- Use