trynoice / android-app

The Android app for Noice.
https://trynoice.com
GNU General Public License v3.0
895 stars 86 forks source link

chore(deps): bump media3Version from 1.2.0 to 1.3.1 #1195

Open dependabot[bot] opened 2 months ago

dependabot[bot] commented 2 months ago

Bumps media3Version from 1.2.0 to 1.3.1. Updates androidx.media3:media3-common from 1.2.0 to 1.3.1

Release notes

Sourced from androidx.media3:media3-common's releases.

1.3.1

This release includes the following changes since the 1.3.0 release:

  • Common Library:
    • Add Format.labels to allow localized or other alternative labels.
  • ExoPlayer:
    • Fix issue where PreloadMediaPeriod cannot retain the streams when it is preloaded again.
    • Apply the correct corresponding TrackSelectionResult to the playing period in track reselection.
    • Start early-enabled renderers only after advancing the playing period when transitioning between media items (#1017).
    • Add missing return type to proguard -keepclasseswithmembers rule for DefaultVideoFrameProcessor.Factory.Builder.build() (#1187).
  • Transformer:
    • Add workaround for exception thrown due to MediaMuxer not supporting negative presentation timestamps before API 30.
  • Track Selection:
    • DefaultTrackSelector: Prefer video tracks with a 'reasonable' frame rate (>=10fps) over those with a lower or unset frame rate. This ensures the player selects the 'real' video track in MP4s extracted from motion photos that can contain two HEVC tracks where one has a higher resolution but a very small number of frames (#1051).
  • Extractors:
    • Fix issue where padding was not skipped when reading odd-sized chunks from WAV files (#1117).
    • MP3: Populate Format.averageBitrate from metadata frames such as XING and VBRI.
    • MPEG-TS: Revert a change that aimed to ensure the last frame is rendered by passing the last access unit of a stream to the sample queue (#7909). This is due to the change causing new problems with I-frame only HLS streams (#1150) and H.262 HLS streams (#1126).
  • Audio:
    • Allow renderer recovery by disabling offload if audio track fails to initialize in offload mode.
  • Video:
    • Add workaround for a device issue on Galaxy Tab S7 FE, Chromecast with Google TV, and Lenovo M10 FHD Plus that causes 60fps H265 streams to be marked as unsupported
    • Add workaround that ensures the first frame is always rendered while tunneling even if the device does not do this automatically as required by the API (#1169). (#966).
    • Fix issue where HDR color info handling causes codec misbehavior and prevents adaptive format switches for SDR video tracks (#1158).
  • Text:
    • WebVTT: Prevent directly consecutive cues from creating spurious additional CuesWithTiming instances from WebvttParser.parse (#1177).
  • DRM:
    • Work around a NoSuchMethodError which can be thrown by the MediaDrm framework instead of ResourceBusyException or NotProvisionedException on some Android 14 devices (#1145).
  • Effect:
    • Improved PQ to SDR tone-mapping by converting color spaces.
  • Session:
    • Fix issue where the current position jumps back when the controller replaces the current item (#951).
    • Fix issue where MediaMetadata with just non-null extras is not transmitted between media controllers and sessions (#1176).
  • UI:
    • Fallback to include audio track language name if Locale cannot identify a display name (#988).
  • DASH Extension:
    • Populate all Label elements from the manifest into Format.labels (#1054).
  • RTSP Extension:
    • Skip empty session information values (i-tags) in SDP parsing (#1087).
  • Decoder Extensions (FFmpeg, VP9, AV1, MIDI, etc.):
    • Disable the MIDI extension as a local dependency by default because it requires an additional Maven repository to be configured. Users who need this module from a local dependency can re-enable it.

1.3.0

This release includes the following changes since the 1.2.1 release:

  • Common Library:
    • Implement support for android.resource://package/[type/]name raw resource URIs where package is different to the package of the current application. This has always been documented to work, but wasn't correctly implemented until now.
    • Normalize MIME types set by app code or read from media to be fully lower-case.
    • Define ads with a full MediaItem instead of a single Uri in AdPlaybackState.
    • Increase minSdk to 19 (Android KitKat). This is aligned with all other AndroidX libraries, and is required for us to upgrade to the latest versions of our AndroidX dependencies.

... (truncated)

Changelog

Sourced from androidx.media3:media3-common's changelog.

1.3.1 (2024-04-11)

This release includes the following changes since the 1.3.0 release:

  • Common Library:
    • Add Format.labels to allow localized or other alternative labels.
  • ExoPlayer:
    • Fix issue where PreloadMediaPeriod cannot retain the streams when it is preloaded again.
    • Apply the correct corresponding TrackSelectionResult to the playing period in track reselection.
    • Start early-enabled renderers only after advancing the playing period when transitioning between media items (#1017).
    • Add missing return type to proguard -keepclasseswithmembers rule for DefaultVideoFrameProcessor.Factory.Builder.build() (#1187).
  • Transformer:
    • Add workaround for exception thrown due to MediaMuxer not supporting negative presentation timestamps before API 30.
  • Track Selection:
    • DefaultTrackSelector: Prefer video tracks with a 'reasonable' frame rate (>=10fps) over those with a lower or unset frame rate. This ensures the player selects the 'real' video track in MP4s extracted from motion photos that can contain two HEVC tracks where one has a higher resolution but a very small number of frames (#1051).
  • Extractors:
    • Fix issue where padding was not skipped when reading odd-sized chunks from WAV files (#1117).
    • MP3: Populate Format.averageBitrate from metadata frames such as XING and VBRI.
    • MPEG-TS: Revert a change that aimed to ensure the last frame is rendered by passing the last access unit of a stream to the sample queue (#7909). This is due to the change causing new problems with I-frame only HLS streams (#1150) and H.262 HLS streams (#1126).
  • Audio:
    • Allow renderer recovery by disabling offload if audio track fails to initialize in offload mode.
  • Video:
    • Add workaround for a device issue on Galaxy Tab S7 FE, Chromecast with Google TV, and Lenovo M10 FHD Plus that causes 60fps H265 streams to be marked as unsupported
    • Add workaround that ensures the first frame is always rendered while tunneling even if the device does not do this automatically as required by the API (#1169). (#966).

... (truncated)

Commits


Updates androidx.media3:media3-exoplayer from 1.2.0 to 1.3.1

Release notes

Sourced from androidx.media3:media3-exoplayer's releases.

1.3.1

This release includes the following changes since the 1.3.0 release:

  • Common Library:
    • Add Format.labels to allow localized or other alternative labels.
  • ExoPlayer:
    • Fix issue where PreloadMediaPeriod cannot retain the streams when it is preloaded again.
    • Apply the correct corresponding TrackSelectionResult to the playing period in track reselection.
    • Start early-enabled renderers only after advancing the playing period when transitioning between media items (#1017).
    • Add missing return type to proguard -keepclasseswithmembers rule for DefaultVideoFrameProcessor.Factory.Builder.build() (#1187).
  • Transformer:
    • Add workaround for exception thrown due to MediaMuxer not supporting negative presentation timestamps before API 30.
  • Track Selection:
    • DefaultTrackSelector: Prefer video tracks with a 'reasonable' frame rate (>=10fps) over those with a lower or unset frame rate. This ensures the player selects the 'real' video track in MP4s extracted from motion photos that can contain two HEVC tracks where one has a higher resolution but a very small number of frames (#1051).
  • Extractors:
    • Fix issue where padding was not skipped when reading odd-sized chunks from WAV files (#1117).
    • MP3: Populate Format.averageBitrate from metadata frames such as XING and VBRI.
    • MPEG-TS: Revert a change that aimed to ensure the last frame is rendered by passing the last access unit of a stream to the sample queue (#7909). This is due to the change causing new problems with I-frame only HLS streams (#1150) and H.262 HLS streams (#1126).
  • Audio:
    • Allow renderer recovery by disabling offload if audio track fails to initialize in offload mode.
  • Video:
    • Add workaround for a device issue on Galaxy Tab S7 FE, Chromecast with Google TV, and Lenovo M10 FHD Plus that causes 60fps H265 streams to be marked as unsupported
    • Add workaround that ensures the first frame is always rendered while tunneling even if the device does not do this automatically as required by the API (#1169). (#966).
    • Fix issue where HDR color info handling causes codec misbehavior and prevents adaptive format switches for SDR video tracks (#1158).
  • Text:
    • WebVTT: Prevent directly consecutive cues from creating spurious additional CuesWithTiming instances from WebvttParser.parse (#1177).
  • DRM:
    • Work around a NoSuchMethodError which can be thrown by the MediaDrm framework instead of ResourceBusyException or NotProvisionedException on some Android 14 devices (#1145).
  • Effect:
    • Improved PQ to SDR tone-mapping by converting color spaces.
  • Session:
    • Fix issue where the current position jumps back when the controller replaces the current item (#951).
    • Fix issue where MediaMetadata with just non-null extras is not transmitted between media controllers and sessions (#1176).
  • UI:
    • Fallback to include audio track language name if Locale cannot identify a display name (#988).
  • DASH Extension:
    • Populate all Label elements from the manifest into Format.labels (#1054).
  • RTSP Extension:
    • Skip empty session information values (i-tags) in SDP parsing (#1087).
  • Decoder Extensions (FFmpeg, VP9, AV1, MIDI, etc.):
    • Disable the MIDI extension as a local dependency by default because it requires an additional Maven repository to be configured. Users who need this module from a local dependency can re-enable it.

1.3.0

This release includes the following changes since the 1.2.1 release:

  • Common Library:
    • Implement support for android.resource://package/[type/]name raw resource URIs where package is different to the package of the current application. This has always been documented to work, but wasn't correctly implemented until now.
    • Normalize MIME types set by app code or read from media to be fully lower-case.
    • Define ads with a full MediaItem instead of a single Uri in AdPlaybackState.
    • Increase minSdk to 19 (Android KitKat). This is aligned with all other AndroidX libraries, and is required for us to upgrade to the latest versions of our AndroidX dependencies.

... (truncated)

Changelog

Sourced from androidx.media3:media3-exoplayer's changelog.

1.3.1 (2024-04-11)

This release includes the following changes since the 1.3.0 release:

  • Common Library:
    • Add Format.labels to allow localized or other alternative labels.
  • ExoPlayer:
    • Fix issue where PreloadMediaPeriod cannot retain the streams when it is preloaded again.
    • Apply the correct corresponding TrackSelectionResult to the playing period in track reselection.
    • Start early-enabled renderers only after advancing the playing period when transitioning between media items (#1017).
    • Add missing return type to proguard -keepclasseswithmembers rule for DefaultVideoFrameProcessor.Factory.Builder.build() (#1187).
  • Transformer:
    • Add workaround for exception thrown due to MediaMuxer not supporting negative presentation timestamps before API 30.
  • Track Selection:
    • DefaultTrackSelector: Prefer video tracks with a 'reasonable' frame rate (>=10fps) over those with a lower or unset frame rate. This ensures the player selects the 'real' video track in MP4s extracted from motion photos that can contain two HEVC tracks where one has a higher resolution but a very small number of frames (#1051).
  • Extractors:
    • Fix issue where padding was not skipped when reading odd-sized chunks from WAV files (#1117).
    • MP3: Populate Format.averageBitrate from metadata frames such as XING and VBRI.
    • MPEG-TS: Revert a change that aimed to ensure the last frame is rendered by passing the last access unit of a stream to the sample queue (#7909). This is due to the change causing new problems with I-frame only HLS streams (#1150) and H.262 HLS streams (#1126).
  • Audio:
    • Allow renderer recovery by disabling offload if audio track fails to initialize in offload mode.
  • Video:
    • Add workaround for a device issue on Galaxy Tab S7 FE, Chromecast with Google TV, and Lenovo M10 FHD Plus that causes 60fps H265 streams to be marked as unsupported
    • Add workaround that ensures the first frame is always rendered while tunneling even if the device does not do this automatically as required by the API (#1169). (#966).

... (truncated)

Commits


Updates androidx.media3:media3-exoplayer-workmanager from 1.2.0 to 1.3.1

Release notes

Sourced from androidx.media3:media3-exoplayer-workmanager's releases.

1.3.1

This release includes the following changes since the 1.3.0 release:

  • Common Library:
    • Add Format.labels to allow localized or other alternative labels.
  • ExoPlayer:
    • Fix issue where PreloadMediaPeriod cannot retain the streams when it is preloaded again.
    • Apply the correct corresponding TrackSelectionResult to the playing period in track reselection.
    • Start early-enabled renderers only after advancing the playing period when transitioning between media items (#1017).
    • Add missing return type to proguard -keepclasseswithmembers rule for DefaultVideoFrameProcessor.Factory.Builder.build() (#1187).
  • Transformer:
    • Add workaround for exception thrown due to MediaMuxer not supporting negative presentation timestamps before API 30.
  • Track Selection:
    • DefaultTrackSelector: Prefer video tracks with a 'reasonable' frame rate (>=10fps) over those with a lower or unset frame rate. This ensures the player selects the 'real' video track in MP4s extracted from motion photos that can contain two HEVC tracks where one has a higher resolution but a very small number of frames (#1051).
  • Extractors:
    • Fix issue where padding was not skipped when reading odd-sized chunks from WAV files (#1117).
    • MP3: Populate Format.averageBitrate from metadata frames such as XING and VBRI.
    • MPEG-TS: Revert a change that aimed to ensure the last frame is rendered by passing the last access unit of a stream to the sample queue (#7909). This is due to the change causing new problems with I-frame only HLS streams (#1150) and H.262 HLS streams (#1126).
  • Audio:
    • Allow renderer recovery by disabling offload if audio track fails to initialize in offload mode.
  • Video:
    • Add workaround for a device issue on Galaxy Tab S7 FE, Chromecast with Google TV, and Lenovo M10 FHD Plus that causes 60fps H265 streams to be marked as unsupported
    • Add workaround that ensures the first frame is always rendered while tunneling even if the device does not do this automatically as required by the API (#1169). (#966).
    • Fix issue where HDR color info handling causes codec misbehavior and prevents adaptive format switches for SDR video tracks (#1158).
  • Text:
    • WebVTT: Prevent directly consecutive cues from creating spurious additional CuesWithTiming instances from WebvttParser.parse (#1177).
  • DRM:
    • Work around a NoSuchMethodError which can be thrown by the MediaDrm framework instead of ResourceBusyException or NotProvisionedException on some Android 14 devices (#1145).
  • Effect:
    • Improved PQ to SDR tone-mapping by converting color spaces.
  • Session:
    • Fix issue where the current position jumps back when the controller replaces the current item (#951).
    • Fix issue where MediaMetadata with just non-null extras is not transmitted between media controllers and sessions (#1176).
  • UI:
    • Fallback to include audio track language name if Locale cannot identify a display name (#988).
  • DASH Extension:
    • Populate all Label elements from the manifest into Format.labels (#1054).
  • RTSP Extension:
    • Skip empty session information values (i-tags) in SDP parsing (#1087).
  • Decoder Extensions (FFmpeg, VP9, AV1, MIDI, etc.):
    • Disable the MIDI extension as a local dependency by default because it requires an additional Maven repository to be configured. Users who need this module from a local dependency can re-enable it.

1.3.0

This release includes the following changes since the 1.2.1 release:

  • Common Library:
    • Implement support for android.resource://package/[type/]name raw resource URIs where package is different to the package of the current application. This has always been documented to work, but wasn't correctly implemented until now.
    • Normalize MIME types set by app code or read from media to be fully lower-case.
    • Define ads with a full MediaItem instead of a single Uri in AdPlaybackState.
    • Increase minSdk to 19 (Android KitKat). This is aligned with all other AndroidX libraries, and is required for us to upgrade to the latest versions of our AndroidX dependencies.

... (truncated)

Changelog

Sourced from androidx.media3:media3-exoplayer-workmanager's changelog.

1.3.1 (2024-04-11)

This release includes the following changes since the 1.3.0 release:

  • Common Library:
    • Add Format.labels to allow localized or other alternative labels.
  • ExoPlayer:
    • Fix issue where PreloadMediaPeriod cannot retain the streams when it is preloaded again.
    • Apply the correct corresponding TrackSelectionResult to the playing period in track reselection.
    • Start early-enabled renderers only after advancing the playing period when transitioning between media items (#1017).
    • Add missing return type to proguard -keepclasseswithmembers rule for DefaultVideoFrameProcessor.Factory.Builder.build() (#1187).
  • Transformer:
    • Add workaround for exception thrown due to MediaMuxer not supporting negative presentation timestamps before API 30.
  • Track Selection:
    • DefaultTrackSelector: Prefer video tracks with a 'reasonable' frame rate (>=10fps) over those with a lower or unset frame rate. This ensures the player selects the 'real' video track in MP4s extracted from motion photos that can contain two HEVC tracks where one has a higher resolution but a very small number of frames (#1051).
  • Extractors:
    • Fix issue where padding was not skipped when reading odd-sized chunks from WAV files (#1117).
    • MP3: Populate Format.averageBitrate from metadata frames such as XING and VBRI.
    • MPEG-TS: Revert a change that aimed to ensure the last frame is rendered by passing the last access unit of a stream to the sample queue (#7909). This is due to the change causing new problems with I-frame only HLS streams (#1150) and H.262 HLS streams (#1126).
  • Audio:
    • Allow renderer recovery by disabling offload if audio track fails to initialize in offload mode.
  • Video:
    • Add workaround for a device issue on Galaxy Tab S7 FE, Chromecast with Google TV, and Lenovo M10 FHD Plus that causes 60fps H265 streams to be marked as unsupported
    • Add workaround that ensures the first frame is always rendered while tunneling even if the device does not do this automatically as required by the API (#1169). (#966).

... (truncated)

Commits


Updates androidx.media3:media3-session from 1.2.0 to 1.3.1

Release notes

Sourced from androidx.media3:media3-session's releases.

1.3.1

This release includes the following changes since the 1.3.0 release:

  • Common Library:
    • Add Format.labels to allow localized or other alternative labels.
  • ExoPlayer:
    • Fix issue where PreloadMediaPeriod cannot retain the streams when it is preloaded again.
    • Apply the correct corresponding TrackSelectionResult to the playing period in track reselection.
    • Start early-enabled renderers only after advancing the playing period when transitioning between media items (#1017).
    • Add missing return type to proguard -keepclasseswithmembers rule for DefaultVideoFrameProcessor.Factory.Builder.build() (#1187).
  • Transformer:
    • Add workaround for exception thrown due to MediaMuxer not supporting negative presentation timestamps before API 30.
  • Track Selection:
    • DefaultTrackSelector: Prefer video tracks with a 'reasonable' frame rate (>=10fps) over those with a lower or unset frame rate. This ensures the player selects the 'real' video track in MP4s extracted from motion photos that can contain two HEVC tracks where one has a higher resolution but a very small number of frames (#1051).
  • Extractors:
    • Fix issue where padding was not skipped when reading odd-sized chunks from WAV files (#1117).
    • MP3: Populate Format.averageBitrate from metadata frames such as XING and VBRI.
    • MPEG-TS: Revert a change that aimed to ensure the last frame is rendered by passing the last access unit of a stream to the sample queue (#7909). This is due to the change causing new problems with I-frame only HLS streams (#1150) and H.262 HLS streams (#1126).
  • Audio:
    • Allow renderer recovery by disabling offload if audio track fails to initialize in offload mode.
  • Video:
    • Add workaround for a device issue on Galaxy Tab S7 FE, Chromecast with Google TV, and Lenovo M10 FHD Plus that causes 60fps H265 streams to be marked as unsupported
    • Add workaround that ensures the first frame is always rendered while tunneling even if the device does not do this automatically as required by the API (#1169). (#966).
    • Fix issue where HDR color info handling causes codec misbehavior and prevents adaptive format switches for SDR video tracks (#1158).
  • Text:
    • WebVTT: Prevent directly consecutive cues from creating spurious additional CuesWithTiming instances from WebvttParser.parse (#1177).
  • DRM:
    • Work around a NoSuchMethodError which can be thrown by the MediaDrm framework instead of ResourceBusyException or NotProvisionedException on some Android 14 devices (#1145).
  • Effect:
    • Improved PQ to SDR tone-mapping by converting color spaces.
  • Session:
    • Fix issue where the current position jumps back when the controller replaces the current item (#951).
    • Fix issue where MediaMetadata with just non-null extras is not transmitted between media controllers and sessions (#1176).
  • UI:
    • Fallback to include audio track language name if Locale cannot identify a display name (#988).
  • DASH Extension:
    • Populate all Label elements from the manifest into Format.labels (#1054).
  • RTSP Extension:
    • Skip empty session information values (i-tags) in SDP parsing (#1087).
  • Decoder Extensions (FFmpeg, VP9, AV1, MIDI, etc.):
    • Disable the MIDI extension as a local dependency by default because it requires an additional Maven repository to be configured. Users who need this module from a local dependency can re-enable it.

1.3.0

This release includes the following changes since the 1.2.1 release:

  • Common Library:
    • Implement support for android.resource://package/[type/]name raw resource URIs where package is different to the package of the current application. This has always been documented to work, but wasn't correctly implemented until now.
    • Normalize MIME types set by app code or read from media to be fully lower-case.
    • Define ads with a full MediaItem instead of a single Uri in AdPlaybackState.
    • Increase minSdk to 19 (Android KitKat). This is aligned with all other AndroidX libraries, and is required for us to upgrade to the latest versions of our AndroidX dependencies.

... (truncated)

Changelog

Sourced from androidx.media3:media3-session's changelog.

1.3.1 (2024-04-11)

This release includes the following changes since the 1.3.0 release:

  • Common Library:
    • Add Format.labels to allow localized or other alternative labels.
  • ExoPlayer:
    • Fix issue where PreloadMediaPeriod cannot retain the streams when it is preloaded again.
    • Apply the correct corresponding TrackSelectionResult to the playing period in track reselection.
    • Start early-enabled renderers only after advancing the playing period when transitioning between media items (#1017).
    • Add missing return type to proguard -keepclasseswithmembers rule for DefaultVideoFrameProcessor.Factory.Builder.build() (#1187).
  • Transformer:
    • Add workaround for exception thrown due to MediaMuxer not supporting negative presentation timestamps before API 30.
  • Track Selection:
    • DefaultTrackSelector: Prefer video tracks with a 'reasonable' frame rate (>=10fps) over those with a lower or unset frame rate. This ensures the player selects the 'real' video track in MP4s extracted from motion photos that can contain two HEVC tracks where one has a higher resolution but a very small number of frames (#1051).
  • Extractors:
    • Fix issue where padding was not skipped when reading odd-sized chunks from WAV files (#1117).
    • MP3: Populate Format.averageBitrate from metadata frames such as XING and VBRI.
    • MPEG-TS: Revert a change that aimed to ensure the last frame is rendered by passing the last access unit of a stream to the sample queue (#7909). This is due to the change causing new problems with I-frame only HLS streams (#1150) and H.262 HLS streams (#1126).
  • Audio:
    • Allow renderer recovery by disabling offload if audio track fails to initialize in offload mode.
  • Video:
    • Add workaround for a device issue on Galaxy Tab S7 FE, Chromecast with Google TV, and Lenovo M10 FHD Plus that causes 60fps H265 streams to be marked as unsupported
    • Add workaround that ensures the first frame is always rendered while tunneling even if the device does not do this automatically as required by the API (#1169). (#966).

... (truncated)

Commits


Updates androidx.media3:media3-test-utils from 1.2.0 to 1.3.1

Release notes

Sourced from androidx.media3:media3-test-utils's releases.

1.3.1

This release includes the following changes since the 1.3.0 release:

  • Common Library:
    • Add Format.labels to allow localized or other alternative labels.
  • ExoPlayer:
    • Fix issue where PreloadMediaPeriod cannot retain the streams when it is preloaded again.
    • Apply the correct corresponding TrackSelectionResult to the playing period in track reselection.
    • Start early-enabled renderers only after advancing the playing period when transitioning between media items (#1017).
    • Add missing return type to proguard -keepclasseswithmembers rule for DefaultVideoFrameProcessor.Factory.Builder.build() (#1187).
  • Transformer:
    • Add workaround for exception thrown due to MediaMuxer not supporting negative presentation timestamps before API 30.
  • Track Selection:
    • DefaultTrackSelector: Prefer video tracks with a 'reasonable' frame rate (>=10fps) over those with a lower or unset frame rate. This ensures the player selects the 'real' video track in MP4s extracted from motion photos that can contain two HEVC tracks where one has a higher resolution but a very small number of frames (#1051).
  • Extractors:
    • Fix issue where padding was not skipped when reading odd-sized chunks from WAV files (#1117).
    • MP3: Populate Format.averageBitrate from metadata frames such as XING and VBRI.
    • MPEG-TS: Revert a change that aimed to ensure the last frame is rendered by passing the last access unit of a stream to the sample queue (#7909). This is due to the change causing new problems with I-frame only HLS streams (#1150) and H.262 HLS streams (#1126).
  • Audio:
    • Allow renderer recovery by disabling offload if audio track fails to initialize in offload mode.
  • Video:
    • Add workaround for a device issue on Galaxy Tab S7 FE, Chromecast with Google TV, and Lenovo M10 FHD Plus that causes 60fps H265 streams to be marked as unsupported
    • Add workaround that ensures the first frame is always rendered while tunneling even if the device does not do this automatically as required by the API (#1169). (#966).
    • Fix issue where HDR color info handling causes codec misbehavior and prevents adaptive format switches for SDR video tracks (#1158).
  • Text:
    • WebVTT: Prevent directly consecutive cues from creating spurious additional CuesWithTiming instances from WebvttParser.parse (#1177).
  • DRM:
    • Work around a NoSuchMethodError which can be thrown by the MediaDrm framework instead of ResourceBusyException or NotProvisionedException on some Android 14 devices (#1145).
  • Effect:
    • Improved PQ to SDR tone-mapping by converting color spaces.
  • Session:
    • Fix issue where the current position jumps back when the controller replaces the current item (#951).
    • Fix issue where MediaMetadata with just non-null extras is not transmitted between media controllers and sessions (#1176).
  • UI:
    • Fallback to include audio track language name if Locale cannot identify a display name (#988).
  • DASH Extension:
    • Populate all Label elements from the manifest into Format.labels (#1054).
  • RTSP Extension:
    • Skip empty session information values (i-tags) in SDP parsing (#1087).
  • Decoder Extensions (FFmpeg, VP9, AV1, MIDI, etc.):
    • Disable the MIDI extension as a local dependency by default because it requires an additional Maven repository to be configured. Users who need this module from a local dependency can re-enable it.

1.3.0

This release includes the following changes since the 1.2.1 release:

  • Common Library:
    • Implement support for android.resource://package/[type/]name raw resource URIs where package is different to the package of the current application. This has always been documented to work, but wasn't correctly implemented until now.
    • Normalize MIME types set by app code or read from media to be fully lower-case.
    • Define ads with a full MediaItem instead of a single Uri in AdPlaybackState.
    • Increase minSdk to 19 (Android KitKat). This is aligned with all other AndroidX libraries, and is required for us to upgrade to the latest versions of our AndroidX dependencies.

... (truncated)

Changelog

Sourced from androidx.media3:media3-test-utils's changelog.

1.3.1 (2024-04-11)

This release includes the following changes since the 1.3.0 release:

  • Common Library:
    • Add Format.labels to allow localized or other alternative labels.
  • ExoPlayer:
    • Fix issue where PreloadMediaPeriod cannot retain the streams when it is preloaded again.
    • Apply the correct corresponding TrackSelectionResult to the playing period in track reselection.
    • Start early-enabled renderers only after advancing the playing period when transitioning between media items (#1017).
    • Add missing return type to proguard -keepclasseswithmembers rule for DefaultVideoFrameProcessor.Factory.Builder.build() (#1187).
  • Transformer:
    • Add workaround for exception thrown due to MediaMuxer not supporting negative presentation timestamps before API 30.
  • Track Selection:
    • DefaultTrackSelector: Prefer video tracks with a 'reasonable' frame rate (>=10fps) over those with a lower or unset frame rate. This ensures the player selects the 'real' video track in MP4s extracted from motion photos that can contain two HEVC tracks where one has a higher resolution but a very small number of frames (#1051).
  • Extractors:
    • Fix issue where padding was not skipped when reading odd-sized chunks from WAV files (#1117).
    • MP3: Populate Format.averageBitrate from metadata frames such as XING and VBRI.
    • MPEG-TS: Revert a change that aimed to ensure the last frame is rendered by passing the last access unit of a stream to the sample queue (#7909). This is due to the change causing new problems with I-frame only HLS streams (#1150) and H.262 HLS streams (#1126).
  • Audio:
    • Allow renderer recovery by disabling offload if audio track fails to initialize in offload mode.
  • Video:
    • Add workaround for a device issue on Galaxy Tab S7 FE, Chromecast with Google TV, and Lenovo M10 FHD Plus that causes 60fps H265 streams to be marked as unsupported
    • Add workaround that ensures the first frame is always rendered while tunneling even if the device does not do this automatically as required by the API (#1169). (#966).

... (truncated)

Commits


Updates androidx.media3:media3-test-utils-robolectric from 1.2.0 to 1.3.1

Release notes

Sourced from androidx.media3:media3-test-utils-robolectric's releases.

1.3.1

This release includes the following changes since the 1.3.0 release:

  • Common Library:
    • Add Format.labels to allow localized or other alternative labels.
  • ExoPlayer:
    • Fix issue where PreloadMediaPeriod cannot retain the streams when it is preloaded again.
    • Apply the correct corresponding TrackSelectionResult to the playing period in track reselection.
    • Start early-enabled renderers only after advancing the playing period when transitioning between media items (#1017).
    • Add missing return type to proguard -keepclasseswithmembers rule for DefaultVideoFrameProcessor.Factory.Builder.build() (#1187).
  • Transformer:
    • Add workaround for exception thrown due to MediaMuxer not supporting negative presentation timestamps before API 30.
  • Track Selection:
    • DefaultTrackSelector: Prefer video tracks with a 'reasonable' frame rate (>=10fps) over those with a lower or unset frame rate. This ensures the player selects the 'real' video track in MP4s extracted from motion photos that can contain two HEVC tracks where one has a higher resolution but a very small number of frames (#1051).
  • Extractors:
    • Fix issue where padding was not skipped when reading odd-sized chunks from WAV files (#1117).
    • MP3: Populate Format.averageBitrate from metadata frames such as XING and VBRI.
    • MPEG-TS: Revert a change that aimed to ensure the last frame is rendered by passing the last access unit of a stream to the sample queue (#7909). This is due to the change causing new problems with I-frame only HLS streams (#1150) and H.262 HLS streams (#1126).
  • Audio:
    • Allow renderer recovery by disabling offload if audio track fails to initialize in offload mode.
  • Video:
    • Add workaround for a device issue on Galaxy Tab S7 FE, Chromecast with Google TV, and Lenovo M10 FHD Plus that causes 60fps H265 streams to be marked as unsupported
    • Add workaround that ensures the first frame is always rendered while tunneling even if the device does not do this automatically as required by the API (#1169). (#966).
    • Fix issue where HDR color info handling causes codec misbehavior and prevents adaptive format switches for SDR video tracks (#1158).
  • Text:
    • WebVTT: Prevent directly consecutive cues from creating spurious additional CuesWithTiming instances from WebvttParser.parse (#1177).
  • DRM:
    • Work around a NoSuchMethodError which can be thrown by the MediaDrm framework instead of ResourceBusyException or NotProvisionedException on some Android 14 devices (#1145).
  • Effect:
    • Improved PQ to SDR tone-mapping by converting color spaces.
  • Session:
    • Fix issue where the current position jumps back when the controller replaces the current item (#951).
    • Fix issue where MediaMetadata with just non-null extras is not transmitted between media controllers and sessions (#1176).
  • UI:
    • Fallb... _Description has been truncated_