2023-08-16
·
129 commits
to main
since this release
Media3: v1.1.1
- Common Library:
- Remove accidentally added
multidexdependency from all modules (#499).
- Remove accidentally added
- ExoPlayer:
- Fix issue in
PlaybackStatsListenerwhere spuriousPlaybackStatsare created after the playlist is cleared. - Add additional fields to Common Media Client Data (CMCD) logging: streaming format (sf), stream type (st), version (v), top birate (tb), object duration (d), measured throughput (mtp) and object type (ot) (#8699).
- Fix issue in
- Audio:
- Fix a bug where
Player.getState()never transitioned toSTATE_ENDEDwhen playing very short files (#538).
- Fix a bug where
- Audio Offload:
- Prepend Ogg ID Header and Comment Header Pages to bitstream for offloaded Opus playback in accordance with RFC 7845.
- Video:
- H.265/HEVC: Fix parsing SPS short and long term reference picture info.
- Text:
- CEA-608: Change cue truncation logic to only consider visible text. Previously indent and tab offset were included when limiting the cue length to 32 characters (which was technically correct by the spec) (#11019).
- IMA extension:
- Bump IMA SDK version to 3.30.3.
- Session:
- Add custom layout to the state of the controller and provide a getter to access it. When the custom layout changes,
MediaController.Listener.onCustomLayoutChangedis called. Apps that want to send different custom layouts to different Media3 controller can do this inMediaSession.Callback.onConnectby using anAcceptedResultBuilderto make sure the custom layout is available to the controller when connection completes. - Fix cases where
MediaLibraryServiceLegacyStubsent an error to aResultthat didn't support this which produced anUnsupportedOperationException(#78). - Fix the way
PlayerWrappercreates aVolumeProviderCompatby determiningvolumeControlTypethrough both legacy commands (COMMAND_ADJUST_DEVICE_VOLUMEandCOMMAND_SET_DEVICE_VOLUME) and new commands (COMMAND_ADJUST_DEVICE_VOLUME_WITH_FLAGSandCOMMAND_SET_DEVICE_VOLUME_WITH_FLAGS) (#554).
- Add custom layout to the state of the controller and provide a getter to access it. When the custom layout changes,