Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[video_player]: Bump exoplayer_version from 1.4.0 to 1.4.1 in /packag…
…es/video_player/video_player_android/android (flutter#7564) Bumps `exoplayer_version` from 1.4.0 to 1.4.1. Updates `androidx.media3:media3-exoplayer` from 1.4.0 to 1.4.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/androidx/media/releases">androidx.media3:media3-exoplayer's releases</a>.</em></p> <blockquote> <h2>1.4.1</h2> <p>This release includes the following changes since the <a href="https://github.com/androidx/media/blob/HEAD/#140-2024-07-24">1.4.0 release</a>:</p> <ul> <li>ExoPlayer: <ul> <li>Handle preload callbacks asynchronously in <code>PreloadMediaSource</code> (<a href="https://redirect.github.com/androidx/media/issues/1568">#1568</a>).</li> <li>Allow playback regardless of buffered duration when loading fails (<a href="https://redirect.github.com/androidx/media/issues/1571">#1571</a>).</li> </ul> </li> <li>Extractors: <ul> <li>MP3: Fix <code>Searched too many bytes</code> error by correctly ignoring trailing non-MP3 data based on the length field in an <code>Info</code> frame (<a href="https://redirect.github.com/androidx/media/issues/1480">#1480</a>).</li> </ul> </li> <li>Text: <ul> <li>TTML: Fix handling of percentage <code>tts:fontSize</code> values to ensure they are correctly inherited from parent nodes with percentage <code>tts:fontSize</code> values.</li> <li>Fix <code>IndexOutOfBoundsException</code> in <code>LegacySubtitleUtil</code> due to incorrectly handling the case of the requested output start time being greater than or equal to the final event time in the <code>Subtitle</code> (<a href="https://redirect.github.com/androidx/media/issues/1516">#1516</a>).</li> </ul> </li> <li>DRM: <ul> <li>Fix <code>android.media.MediaCodec$CryptoException: Operation not supported in this configuration: ERROR_DRM_CANNOT_HANDLE</code> error on API 31+ devices playing L1 Widevine content. This error is caused by an incomplete implementation of the framework <a href="https://developer.android.com/reference/android/media/MediaDrm#requiresSecureDecoder(java.lang.String)"><code>MediaDrm.requiresSecureDecoder</code></a> method (<a href="https://redirect.github.com/androidx/media/issues/1603">#1603</a>).</li> </ul> </li> <li>Effect: <ul> <li>Add a <code>release()</code> method to <code>GlObjectsProvider</code>.</li> </ul> </li> <li>Session: <ul> <li>Transform a double-tap of <code>KEYCODE_HEADSETHOOK</code> into a 'seek to next' action, as <a href="https://developer.android.com/reference/androidx/media3/session/MediaSession#media-key-events-mapping">documented</a> (<a href="https://redirect.github.com/androidx/media/issues/1493">#1493</a>).</li> <li>Handle <code>KEYCODE_HEADSETHOOK</code> as a 'play' command in <code>MediaButtonReceiver</code> when deciding whether to ignore it to avoid a <code>ForegroundServiceDidNotStartInTimeException</code> (<a href="https://redirect.github.com/androidx/media/issues/1581">#1581</a>).</li> </ul> </li> <li>RTSP Extension: <ul> <li>Skip invalid Media Descriptions in SDP parsing (<a href="https://redirect.github.com/androidx/media/issues/1472">#1087</a>).</li> </ul> </li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/androidx/media/blob/release/RELEASENOTES.md">androidx.media3:media3-exoplayer's changelog</a>.</em></p> <blockquote> <h3>1.4.1 (2024-08-23)</h3> <p>This release includes the following changes since the <a href="https://github.com/androidx/media/blob/release/#140-2024-07-24">1.4.0 release</a>:</p> <ul> <li>ExoPlayer: <ul> <li>Handle preload callbacks asynchronously in <code>PreloadMediaSource</code> (<a href="https://redirect.github.com/androidx/media/issues/1568">#1568</a>).</li> <li>Allow playback regardless of buffered duration when loading fails (<a href="https://redirect.github.com/androidx/media/issues/1571">#1571</a>).</li> </ul> </li> <li>Extractors: <ul> <li>MP3: Fix <code>Searched too many bytes</code> error by correctly ignoring trailing non-MP3 data based on the length field in an <code>Info</code> frame (<a href="https://redirect.github.com/androidx/media/issues/1480">#1480</a>).</li> </ul> </li> <li>Text: <ul> <li>TTML: Fix handling of percentage <code>tts:fontSize</code> values to ensure they are correctly inherited from parent nodes with percentage <code>tts:fontSize</code> values.</li> <li>Fix <code>IndexOutOfBoundsException</code> in <code>LegacySubtitleUtil</code> due to incorrectly handling the case of the requested output start time being greater than or equal to the final event time in the <code>Subtitle</code> (<a href="https://redirect.github.com/androidx/media/issues/1516">#1516</a>).</li> </ul> </li> <li>DRM: <ul> <li>Fix <code>android.media.MediaCodec$CryptoException: Operation not supported in this configuration: ERROR_DRM_CANNOT_HANDLE</code> error on API 31+ devices playing L1 Widevine content. This error is caused by an incomplete implementation of the framework <a href="https://developer.android.com/reference/android/media/MediaDrm#requiresSecureDecoder(java.lang.String)"><code>MediaDrm.requiresSecureDecoder</code></a> method (<a href="https://redirect.github.com/androidx/media/issues/1603">#1603</a>).</li> </ul> </li> <li>Effect: <ul> <li>Add a <code>release()</code> method to <code>GlObjectsProvider</code>.</li> </ul> </li> <li>Session: <ul> <li>Transform a double-tap of <code>KEYCODE_HEADSETHOOK</code> into a 'seek to next' action, as <a href="https://developer.android.com/reference/androidx/media3/session/MediaSession#media-key-events-mapping">documented</a> (<a href="https://redirect.github.com/androidx/media/issues/1493">#1493</a>).</li> <li>Handle <code>KEYCODE_HEADSETHOOK</code> as a 'play' command in <code>MediaButtonReceiver</code> when deciding whether to ignore it to avoid a <code>ForegroundServiceDidNotStartInTimeException</code> (<a href="https://redirect.github.com/androidx/media/issues/1581">#1581</a>).</li> </ul> </li> <li>RTSP Extension: <ul> <li>Skip invalid Media Descriptions in SDP parsing (<a href="https://redirect.github.com/androidx/media/issues/1472">#1087</a>).</li> </ul> </li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/androidx/media/commit/c35a9d62baec57118ea898e271ac66819399649b"><code>c35a9d6</code></a> Bump media3 version to 1.4.1</li> <li><a href="https://github.com/androidx/media/commit/517762c08747c597d85be2e6c497a15f3674d340"><code>517762c</code></a> Update release notes for 1.4.1 bug fix release</li> <li><a href="https://github.com/androidx/media/commit/88b640136a8bbe6ceb046c3718a034bdd4e92fd7"><code>88b6401</code></a> Allow playback regardless buffered duration when loading fails</li> <li><a href="https://github.com/androidx/media/commit/9b39e3514f40327d7201a7b894247a625f278412"><code>9b39e35</code></a> Update translations</li> <li><a href="https://github.com/androidx/media/commit/b184677b7b50652ea9a97d1504c80f171143d7d9"><code>b184677</code></a> Check WV version before relying on <code>MediaDrm.requiresSecureDecoder</code></li> <li><a href="https://github.com/androidx/media/commit/f139d709c7eacc99edb2912126746b6c6d44ae2f"><code>f139d70</code></a> Handle preload callbacks asynchronously in PreloadMediaSource</li> <li><a href="https://github.com/androidx/media/commit/07e9c659d75e8f295a6a6feebb1090ad532e36fb"><code>07e9c65</code></a> Handle <code>HEADSETHOOK</code> as 'play' in <code>MediaButtonReceiver.onReceive</code></li> <li><a href="https://github.com/androidx/media/commit/eebf081528aef899461f24322a62d5e85e544994"><code>eebf081</code></a> Pass missing <code>length</code> into <code>SubtitleParser</code> from <code>SubtitleExtractor</code></li> <li><a href="https://github.com/androidx/media/commit/c773789edb778ea8cdb81c707d4637ee5a5acac5"><code>c773789</code></a> Skip invalid media description in <code>SessionDescriptionParser</code></li> <li><a href="https://github.com/androidx/media/commit/bf934495df4cc645579ecb0c03dee4e3d5fc1f9d"><code>bf93449</code></a> Fix <code>IndexOutOfBoundsException</code> in <code>LegacySubtitleUtil</code></li> <li>Additional commits viewable in <a href="https://github.com/androidx/media/compare/1.4.0...1.4.1">compare view</a></li> </ul> </details> <br /> Updates `androidx.media3:media3-exoplayer-hls` from 1.4.0 to 1.4.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/androidx/media/releases">androidx.media3:media3-exoplayer-hls's releases</a>.</em></p> <blockquote> <h2>1.4.1</h2> <p>This release includes the following changes since the <a href="https://github.com/androidx/media/blob/HEAD/#140-2024-07-24">1.4.0 release</a>:</p> <ul> <li>ExoPlayer: <ul> <li>Handle preload callbacks asynchronously in <code>PreloadMediaSource</code> (<a href="https://redirect.github.com/androidx/media/issues/1568">#1568</a>).</li> <li>Allow playback regardless of buffered duration when loading fails (<a href="https://redirect.github.com/androidx/media/issues/1571">#1571</a>).</li> </ul> </li> <li>Extractors: <ul> <li>MP3: Fix <code>Searched too many bytes</code> error by correctly ignoring trailing non-MP3 data based on the length field in an <code>Info</code> frame (<a href="https://redirect.github.com/androidx/media/issues/1480">#1480</a>).</li> </ul> </li> <li>Text: <ul> <li>TTML: Fix handling of percentage <code>tts:fontSize</code> values to ensure they are correctly inherited from parent nodes with percentage <code>tts:fontSize</code> values.</li> <li>Fix <code>IndexOutOfBoundsException</code> in <code>LegacySubtitleUtil</code> due to incorrectly handling the case of the requested output start time being greater than or equal to the final event time in the <code>Subtitle</code> (<a href="https://redirect.github.com/androidx/media/issues/1516">#1516</a>).</li> </ul> </li> <li>DRM: <ul> <li>Fix <code>android.media.MediaCodec$CryptoException: Operation not supported in this configuration: ERROR_DRM_CANNOT_HANDLE</code> error on API 31+ devices playing L1 Widevine content. This error is caused by an incomplete implementation of the framework <a href="https://developer.android.com/reference/android/media/MediaDrm#requiresSecureDecoder(java.lang.String)"><code>MediaDrm.requiresSecureDecoder</code></a> method (<a href="https://redirect.github.com/androidx/media/issues/1603">#1603</a>).</li> </ul> </li> <li>Effect: <ul> <li>Add a <code>release()</code> method to <code>GlObjectsProvider</code>.</li> </ul> </li> <li>Session: <ul> <li>Transform a double-tap of <code>KEYCODE_HEADSETHOOK</code> into a 'seek to next' action, as <a href="https://developer.android.com/reference/androidx/media3/session/MediaSession#media-key-events-mapping">documented</a> (<a href="https://redirect.github.com/androidx/media/issues/1493">#1493</a>).</li> <li>Handle <code>KEYCODE_HEADSETHOOK</code> as a 'play' command in <code>MediaButtonReceiver</code> when deciding whether to ignore it to avoid a <code>ForegroundServiceDidNotStartInTimeException</code> (<a href="https://redirect.github.com/androidx/media/issues/1581">#1581</a>).</li> </ul> </li> <li>RTSP Extension: <ul> <li>Skip invalid Media Descriptions in SDP parsing (<a href="https://redirect.github.com/androidx/media/issues/1472">#1087</a>).</li> </ul> </li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/androidx/media/blob/release/RELEASENOTES.md">androidx.media3:media3-exoplayer-hls's changelog</a>.</em></p> <blockquote> <h3>1.4.1 (2024-08-23)</h3> <p>This release includes the following changes since the <a href="https://github.com/androidx/media/blob/release/#140-2024-07-24">1.4.0 release</a>:</p> <ul> <li>ExoPlayer: <ul> <li>Handle preload callbacks asynchronously in <code>PreloadMediaSource</code> (<a href="https://redirect.github.com/androidx/media/issues/1568">#1568</a>).</li> <li>Allow playback regardless of buffered duration when loading fails (<a href="https://redirect.github.com/androidx/media/issues/1571">#1571</a>).</li> </ul> </li> <li>Extractors: <ul> <li>MP3: Fix <code>Searched too many bytes</code> error by correctly ignoring trailing non-MP3 data based on the length field in an <code>Info</code> frame (<a href="https://redirect.github.com/androidx/media/issues/1480">#1480</a>).</li> </ul> </li> <li>Text: <ul> <li>TTML: Fix handling of percentage <code>tts:fontSize</code> values to ensure they are correctly inherited from parent nodes with percentage <code>tts:fontSize</code> values.</li> <li>Fix <code>IndexOutOfBoundsException</code> in <code>LegacySubtitleUtil</code> due to incorrectly handling the case of the requested output start time being greater than or equal to the final event time in the <code>Subtitle</code> (<a href="https://redirect.github.com/androidx/media/issues/1516">#1516</a>).</li> </ul> </li> <li>DRM: <ul> <li>Fix <code>android.media.MediaCodec$CryptoException: Operation not supported in this configuration: ERROR_DRM_CANNOT_HANDLE</code> error on API 31+ devices playing L1 Widevine content. This error is caused by an incomplete implementation of the framework <a href="https://developer.android.com/reference/android/media/MediaDrm#requiresSecureDecoder(java.lang.String)"><code>MediaDrm.requiresSecureDecoder</code></a> method (<a href="https://redirect.github.com/androidx/media/issues/1603">#1603</a>).</li> </ul> </li> <li>Effect: <ul> <li>Add a <code>release()</code> method to <code>GlObjectsProvider</code>.</li> </ul> </li> <li>Session: <ul> <li>Transform a double-tap of <code>KEYCODE_HEADSETHOOK</code> into a 'seek to next' action, as <a href="https://developer.android.com/reference/androidx/media3/session/MediaSession#media-key-events-mapping">documented</a> (<a href="https://redirect.github.com/androidx/media/issues/1493">#1493</a>).</li> <li>Handle <code>KEYCODE_HEADSETHOOK</code> as a 'play' command in <code>MediaButtonReceiver</code> when deciding whether to ignore it to avoid a <code>ForegroundServiceDidNotStartInTimeException</code> (<a href="https://redirect.github.com/androidx/media/issues/1581">#1581</a>).</li> </ul> </li> <li>RTSP Extension: <ul> <li>Skip invalid Media Descriptions in SDP parsing (<a href="https://redirect.github.com/androidx/media/issues/1472">#1087</a>).</li> </ul> </li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/androidx/media/commit/c35a9d62baec57118ea898e271ac66819399649b"><code>c35a9d6</code></a> Bump media3 version to 1.4.1</li> <li><a href="https://github.com/androidx/media/commit/517762c08747c597d85be2e6c497a15f3674d340"><code>517762c</code></a> Update release notes for 1.4.1 bug fix release</li> <li><a href="https://github.com/androidx/media/commit/88b640136a8bbe6ceb046c3718a034bdd4e92fd7"><code>88b6401</code></a> Allow playback regardless buffered duration when loading fails</li> <li><a href="https://github.com/androidx/media/commit/9b39e3514f40327d7201a7b894247a625f278412"><code>9b39e35</code></a> Update translations</li> <li><a href="https://github.com/androidx/media/commit/b184677b7b50652ea9a97d1504c80f171143d7d9"><code>b184677</code></a> Check WV version before relying on <code>MediaDrm.requiresSecureDecoder</code></li> <li><a href="https://github.com/androidx/media/commit/f139d709c7eacc99edb2912126746b6c6d44ae2f"><code>f139d70</code></a> Handle preload callbacks asynchronously in PreloadMediaSource</li> <li><a href="https://github.com/androidx/media/commit/07e9c659d75e8f295a6a6feebb1090ad532e36fb"><code>07e9c65</code></a> Handle <code>HEADSETHOOK</code> as 'play' in <code>MediaButtonReceiver.onReceive</code></li> <li><a href="https://github.com/androidx/media/commit/eebf081528aef899461f24322a62d5e85e544994"><code>eebf081</code></a> Pass missing <code>length</code> into <code>SubtitleParser</code> from <code>SubtitleExtractor</code></li> <li><a href="https://github.com/androidx/media/commit/c773789edb778ea8cdb81c707d4637ee5a5acac5"><code>c773789</code></a> Skip invalid media description in <code>SessionDescriptionParser</code></li> <li><a href="https://github.com/androidx/media/commit/bf934495df4cc645579ecb0c03dee4e3d5fc1f9d"><code>bf93449</code></a> Fix <code>IndexOutOfBoundsException</code> in <code>LegacySubtitleUtil</code></li> <li>Additional commits viewable in <a href="https://github.com/androidx/media/compare/1.4.0...1.4.1">compare view</a></li> </ul> </details> <br /> Updates `androidx.media3:media3-exoplayer-dash` from 1.4.0 to 1.4.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/androidx/media/releases">androidx.media3:media3-exoplayer-dash's releases</a>.</em></p> <blockquote> <h2>1.4.1</h2> <p>This release includes the following changes since the <a href="https://github.com/androidx/media/blob/HEAD/#140-2024-07-24">1.4.0 release</a>:</p> <ul> <li>ExoPlayer: <ul> <li>Handle preload callbacks asynchronously in <code>PreloadMediaSource</code> (<a href="https://redirect.github.com/androidx/media/issues/1568">#1568</a>).</li> <li>Allow playback regardless of buffered duration when loading fails (<a href="https://redirect.github.com/androidx/media/issues/1571">#1571</a>).</li> </ul> </li> <li>Extractors: <ul> <li>MP3: Fix <code>Searched too many bytes</code> error by correctly ignoring trailing non-MP3 data based on the length field in an <code>Info</code> frame (<a href="https://redirect.github.com/androidx/media/issues/1480">#1480</a>).</li> </ul> </li> <li>Text: <ul> <li>TTML: Fix handling of percentage <code>tts:fontSize</code> values to ensure they are correctly inherited from parent nodes with percentage <code>tts:fontSize</code> values.</li> <li>Fix <code>IndexOutOfBoundsException</code> in <code>LegacySubtitleUtil</code> due to incorrectly handling the case of the requested output start time being greater than or equal to the final event time in the <code>Subtitle</code> (<a href="https://redirect.github.com/androidx/media/issues/1516">#1516</a>).</li> </ul> </li> <li>DRM: <ul> <li>Fix <code>android.media.MediaCodec$CryptoException: Operation not supported in this configuration: ERROR_DRM_CANNOT_HANDLE</code> error on API 31+ devices playing L1 Widevine content. This error is caused by an incomplete implementation of the framework <a href="https://developer.android.com/reference/android/media/MediaDrm#requiresSecureDecoder(java.lang.String)"><code>MediaDrm.requiresSecureDecoder</code></a> method (<a href="https://redirect.github.com/androidx/media/issues/1603">#1603</a>).</li> </ul> </li> <li>Effect: <ul> <li>Add a <code>release()</code> method to <code>GlObjectsProvider</code>.</li> </ul> </li> <li>Session: <ul> <li>Transform a double-tap of <code>KEYCODE_HEADSETHOOK</code> into a 'seek to next' action, as <a href="https://developer.android.com/reference/androidx/media3/session/MediaSession#media-key-events-mapping">documented</a> (<a href="https://redirect.github.com/androidx/media/issues/1493">#1493</a>).</li> <li>Handle <code>KEYCODE_HEADSETHOOK</code> as a 'play' command in <code>MediaButtonReceiver</code> when deciding whether to ignore it to avoid a <code>ForegroundServiceDidNotStartInTimeException</code> (<a href="https://redirect.github.com/androidx/media/issues/1581">#1581</a>).</li> </ul> </li> <li>RTSP Extension: <ul> <li>Skip invalid Media Descriptions in SDP parsing (<a href="https://redirect.github.com/androidx/media/issues/1472">#1087</a>).</li> </ul> </li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/androidx/media/blob/release/RELEASENOTES.md">androidx.media3:media3-exoplayer-dash's changelog</a>.</em></p> <blockquote> <h3>1.4.1 (2024-08-23)</h3> <p>This release includes the following changes since the <a href="https://github.com/androidx/media/blob/release/#140-2024-07-24">1.4.0 release</a>:</p> <ul> <li>ExoPlayer: <ul> <li>Handle preload callbacks asynchronously in <code>PreloadMediaSource</code> (<a href="https://redirect.github.com/androidx/media/issues/1568">#1568</a>).</li> <li>Allow playback regardless of buffered duration when loading fails (<a href="https://redirect.github.com/androidx/media/issues/1571">#1571</a>).</li> </ul> </li> <li>Extractors: <ul> <li>MP3: Fix <code>Searched too many bytes</code> error by correctly ignoring trailing non-MP3 data based on the length field in an <code>Info</code> frame (<a href="https://redirect.github.com/androidx/media/issues/1480">#1480</a>).</li> </ul> </li> <li>Text: <ul> <li>TTML: Fix handling of percentage <code>tts:fontSize</code> values to ensure they are correctly inherited from parent nodes with percentage <code>tts:fontSize</code> values.</li> <li>Fix <code>IndexOutOfBoundsException</code> in <code>LegacySubtitleUtil</code> due to incorrectly handling the case of the requested output start time being greater than or equal to the final event time in the <code>Subtitle</code> (<a href="https://redirect.github.com/androidx/media/issues/1516">#1516</a>).</li> </ul> </li> <li>DRM: <ul> <li>Fix <code>android.media.MediaCodec$CryptoException: Operation not supported in this configuration: ERROR_DRM_CANNOT_HANDLE</code> error on API 31+ devices playing L1 Widevine content. This error is caused by an incomplete implementation of the framework <a href="https://developer.android.com/reference/android/media/MediaDrm#requiresSecureDecoder(java.lang.String)"><code>MediaDrm.requiresSecureDecoder</code></a> method (<a href="https://redirect.github.com/androidx/media/issues/1603">#1603</a>).</li> </ul> </li> <li>Effect: <ul> <li>Add a <code>release()</code> method to <code>GlObjectsProvider</code>.</li> </ul> </li> <li>Session: <ul> <li>Transform a double-tap of <code>KEYCODE_HEADSETHOOK</code> into a 'seek to next' action, as <a href="https://developer.android.com/reference/androidx/media3/session/MediaSession#media-key-events-mapping">documented</a> (<a href="https://redirect.github.com/androidx/media/issues/1493">#1493</a>).</li> <li>Handle <code>KEYCODE_HEADSETHOOK</code> as a 'play' command in <code>MediaButtonReceiver</code> when deciding whether to ignore it to avoid a <code>ForegroundServiceDidNotStartInTimeException</code> (<a href="https://redirect.github.com/androidx/media/issues/1581">#1581</a>).</li> </ul> </li> <li>RTSP Extension: <ul> <li>Skip invalid Media Descriptions in SDP parsing (<a href="https://redirect.github.com/androidx/media/issues/1472">#1087</a>).</li> </ul> </li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/androidx/media/commit/c35a9d62baec57118ea898e271ac66819399649b"><code>c35a9d6</code></a> Bump media3 version to 1.4.1</li> <li><a href="https://github.com/androidx/media/commit/517762c08747c597d85be2e6c497a15f3674d340"><code>517762c</code></a> Update release notes for 1.4.1 bug fix release</li> <li><a href="https://github.com/androidx/media/commit/88b640136a8bbe6ceb046c3718a034bdd4e92fd7"><code>88b6401</code></a> Allow playback regardless buffered duration when loading fails</li> <li><a href="https://github.com/androidx/media/commit/9b39e3514f40327d7201a7b894247a625f278412"><code>9b39e35</code></a> Update translations</li> <li><a href="https://github.com/androidx/media/commit/b184677b7b50652ea9a97d1504c80f171143d7d9"><code>b184677</code></a> Check WV version before relying on <code>MediaDrm.requiresSecureDecoder</code></li> <li><a href="https://github.com/androidx/media/commit/f139d709c7eacc99edb2912126746b6c6d44ae2f"><code>f139d70</code></a> Handle preload callbacks asynchronously in PreloadMediaSource</li> <li><a href="https://github.com/androidx/media/commit/07e9c659d75e8f295a6a6feebb1090ad532e36fb"><code>07e9c65</code></a> Handle <code>HEADSETHOOK</code> as 'play' in <code>MediaButtonReceiver.onReceive</code></li> <li><a href="https://github.com/androidx/media/commit/eebf081528aef899461f24322a62d5e85e544994"><code>eebf081</code></a> Pass missing <code>length</code> into <code>SubtitleParser</code> from <code>SubtitleExtractor</code></li> <li><a href="https://github.com/androidx/media/commit/c773789edb778ea8cdb81c707d4637ee5a5acac5"><code>c773789</code></a> Skip invalid media description in <code>SessionDescriptionParser</code></li> <li><a href="https://github.com/androidx/media/commit/bf934495df4cc645579ecb0c03dee4e3d5fc1f9d"><code>bf93449</code></a> Fix <code>IndexOutOfBoundsException</code> in <code>LegacySubtitleUtil</code></li> <li>Additional commits viewable in <a href="https://github.com/androidx/media/compare/1.4.0...1.4.1">compare view</a></li> </ul> </details> <br /> Updates `androidx.media3:media3-exoplayer-rtsp` from 1.4.0 to 1.4.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/androidx/media/releases">androidx.media3:media3-exoplayer-rtsp's releases</a>.</em></p> <blockquote> <h2>1.4.1</h2> <p>This release includes the following changes since the <a href="https://github.com/androidx/media/blob/HEAD/#140-2024-07-24">1.4.0 release</a>:</p> <ul> <li>ExoPlayer: <ul> <li>Handle preload callbacks asynchronously in <code>PreloadMediaSource</code> (<a href="https://redirect.github.com/androidx/media/issues/1568">#1568</a>).</li> <li>Allow playback regardless of buffered duration when loading fails (<a href="https://redirect.github.com/androidx/media/issues/1571">#1571</a>).</li> </ul> </li> <li>Extractors: <ul> <li>MP3: Fix <code>Searched too many bytes</code> error by correctly ignoring trailing non-MP3 data based on the length field in an <code>Info</code> frame (<a href="https://redirect.github.com/androidx/media/issues/1480">#1480</a>).</li> </ul> </li> <li>Text: <ul> <li>TTML: Fix handling of percentage <code>tts:fontSize</code> values to ensure they are correctly inherited from parent nodes with percentage <code>tts:fontSize</code> values.</li> <li>Fix <code>IndexOutOfBoundsException</code> in <code>LegacySubtitleUtil</code> due to incorrectly handling the case of the requested output start time being greater than or equal to the final event time in the <code>Subtitle</code> (<a href="https://redirect.github.com/androidx/media/issues/1516">#1516</a>).</li> </ul> </li> <li>DRM: <ul> <li>Fix <code>android.media.MediaCodec$CryptoException: Operation not supported in this configuration: ERROR_DRM_CANNOT_HANDLE</code> error on API 31+ devices playing L1 Widevine content. This error is caused by an incomplete implementation of the framework <a href="https://developer.android.com/reference/android/media/MediaDrm#requiresSecureDecoder(java.lang.String)"><code>MediaDrm.requiresSecureDecoder</code></a> method (<a href="https://redirect.github.com/androidx/media/issues/1603">#1603</a>).</li> </ul> </li> <li>Effect: <ul> <li>Add a <code>release()</code> method to <code>GlObjectsProvider</code>.</li> </ul> </li> <li>Session: <ul> <li>Transform a double-tap of <code>KEYCODE_HEADSETHOOK</code> into a 'seek to next' action, as <a href="https://developer.android.com/reference/androidx/media3/session/MediaSession#media-key-events-mapping">documented</a> (<a href="https://redirect.github.com/androidx/media/issues/1493">#1493</a>).</li> <li>Handle <code>KEYCODE_HEADSETHOOK</code> as a 'play' command in <code>MediaButtonReceiver</code> when deciding whether to ignore it to avoid a <code>ForegroundServiceDidNotStartInTimeException</code> (<a href="https://redirect.github.com/androidx/media/issues/1581">#1581</a>).</li> </ul> </li> <li>RTSP Extension: <ul> <li>Skip invalid Media Descriptions in SDP parsing (<a href="https://redirect.github.com/androidx/media/issues/1472">#1087</a>).</li> </ul> </li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/androidx/media/blob/release/RELEASENOTES.md">androidx.media3:media3-exoplayer-rtsp's changelog</a>.</em></p> <blockquote> <h3>1.4.1 (2024-08-23)</h3> <p>This release includes the following changes since the <a href="https://github.com/androidx/media/blob/release/#140-2024-07-24">1.4.0 release</a>:</p> <ul> <li>ExoPlayer: <ul> <li>Handle preload callbacks asynchronously in <code>PreloadMediaSource</code> (<a href="https://redirect.github.com/androidx/media/issues/1568">#1568</a>).</li> <li>Allow playback regardless of buffered duration when loading fails (<a href="https://redirect.github.com/androidx/media/issues/1571">#1571</a>).</li> </ul> </li> <li>Extractors: <ul> <li>MP3: Fix <code>Searched too many bytes</code> error by correctly ignoring trailing non-MP3 data based on the length field in an <code>Info</code> frame (<a href="https://redirect.github.com/androidx/media/issues/1480">#1480</a>).</li> </ul> </li> <li>Text: <ul> <li>TTML: Fix handling of percentage <code>tts:fontSize</code> values to ensure they are correctly inherited from parent nodes with percentage <code>tts:fontSize</code> values.</li> <li>Fix <code>IndexOutOfBoundsException</code> in <code>LegacySubtitleUtil</code> due to incorrectly handling the case of the requested output start time being greater than or equal to the final event time in the <code>Subtitle</code> (<a href="https://redirect.github.com/androidx/media/issues/1516">#1516</a>).</li> </ul> </li> <li>DRM: <ul> <li>Fix <code>android.media.MediaCodec$CryptoException: Operation not supported in this configuration: ERROR_DRM_CANNOT_HANDLE</code> error on API 31+ devices playing L1 Widevine content. This error is caused by an incomplete implementation of the framework <a href="https://developer.android.com/reference/android/media/MediaDrm#requiresSecureDecoder(java.lang.String)"><code>MediaDrm.requiresSecureDecoder</code></a> method (<a href="https://redirect.github.com/androidx/media/issues/1603">#1603</a>).</li> </ul> </li> <li>Effect: <ul> <li>Add a <code>release()</code> method to <code>GlObjectsProvider</code>.</li> </ul> </li> <li>Session: <ul> <li>Transform a double-tap of <code>KEYCODE_HEADSETHOOK</code> into a 'seek to next' action, as <a href="https://developer.android.com/reference/androidx/media3/session/MediaSession#media-key-events-mapping">documented</a> (<a href="https://redirect.github.com/androidx/media/issues/1493">#1493</a>).</li> <li>Handle <code>KEYCODE_HEADSETHOOK</code> as a 'play' command in <code>MediaButtonReceiver</code> when deciding whether to ignore it to avoid a <code>ForegroundServiceDidNotStartInTimeException</code> (<a href="https://redirect.github.com/androidx/media/issues/1581">#1581</a>).</li> </ul> </li> <li>RTSP Extension: <ul> <li>Skip invalid Media Descriptions in SDP parsing (<a href="https://redirect.github.com/androidx/media/issues/1472">#1087</a>).</li> </ul> </li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/androidx/media/commit/c35a9d62baec57118ea898e271ac66819399649b"><code>c35a9d6</code></a> Bump media3 version to 1.4.1</li> <li><a href="https://github.com/androidx/media/commit/517762c08747c597d85be2e6c497a15f3674d340"><code>517762c</code></a> Update release notes for 1.4.1 bug fix release</li> <li><a href="https://github.com/androidx/media/commit/88b640136a8bbe6ceb046c3718a034bdd4e92fd7"><code>88b6401</code></a> Allow playback regardless buffered duration when loading fails</li> <li><a href="https://github.com/androidx/media/commit/9b39e3514f40327d7201a7b894247a625f278412"><code>9b39e35</code></a> Update translations</li> <li><a href="https://github.com/androidx/media/commit/b184677b7b50652ea9a97d1504c80f171143d7d9"><code>b184677</code></a> Check WV version before relying on <code>MediaDrm.requiresSecureDecoder</code></li> <li><a href="https://github.com/androidx/media/commit/f139d709c7eacc99edb2912126746b6c6d44ae2f"><code>f139d70</code></a> Handle preload callbacks asynchronously in PreloadMediaSource</li> <li><a href="https://github.com/androidx/media/commit/07e9c659d75e8f295a6a6feebb1090ad532e36fb"><code>07e9c65</code></a> Handle <code>HEADSETHOOK</code> as 'play' in <code>MediaButtonReceiver.onReceive</code></li> <li><a href="https://github.com/androidx/media/commit/eebf081528aef899461f24322a62d5e85e544994"><code>eebf081</code></a> Pass missing <code>length</code> into <code>SubtitleParser</code> from <code>SubtitleExtractor</code></li> <li><a href="https://github.com/androidx/media/commit/c773789edb778ea8cdb81c707d4637ee5a5acac5"><code>c773789</code></a> Skip invalid media description in <code>SessionDescriptionParser</code></li> <li><a href="https://github.com/androidx/media/commit/bf934495df4cc645579ecb0c03dee4e3d5fc1f9d"><code>bf93449</code></a> Fix <code>IndexOutOfBoundsException</code> in <code>LegacySubtitleUtil</code></li> <li>Additional commits viewable in <a href="https://github.com/androidx/media/compare/1.4.0...1.4.1">compare view</a></li> </ul> </details> <br /> Updates `androidx.media3:media3-exoplayer-smoothstreaming` from 1.4.0 to 1.4.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/androidx/media/releases">androidx.media3:media3-exoplayer-smoothstreaming's releases</a>.</em></p> <blockquote> <h2>1.4.1</h2> <p>This release includes the following changes since the <a href="https://github.com/androidx/media/blob/HEAD/#140-2024-07-24">1.4.0 release</a>:</p> <ul> <li>ExoPlayer: <ul> <li>Handle preload callbacks asynchronously in <code>PreloadMediaSource</code> (<a href="https://redirect.github.com/androidx/media/issues/1568">#1568</a>).</li> <li>Allow playback regardless of buffered duration when loading fails (<a href="https://redirect.github.com/androidx/media/issues/1571">#1571</a>).</li> </ul> </li> <li>Extractors: <ul> <li>MP3: Fix <code>Searched too many bytes</code> error by correctly ignoring trailing non-MP3 data based on the length field in an <code>Info</code> frame (<a href="https://redirect.github.com/androidx/media/issues/1480">#1480</a>).</li> </ul> </li> <li>Text: <ul> <li>TTML: Fix handling of percentage <code>tts:fontSize</code> values to ensure they are correctly inherited from parent nodes with percentage <code>tts:fontSize</code> values.</li> <li>Fix <code>IndexOutOfBoundsException</code> in <code>LegacySubtitleUtil</code> due to incorrectly handling the case of the requested output start time being greater than or equal to the final event time in the <code>Subtitle</code> (<a href="https://redirect.github.com/androidx/media/issues/1516">#1516</a>).</li> </ul> </li> <li>DRM: <ul> <li>Fix <code>android.media.MediaCodec$CryptoException: Operation not supported in this configuration: ERROR_DRM_CANNOT_HANDLE</code> error on API 31+ devices playing L1 Widevine content. This error is caused by an incomplete implementation of the framework <a href="https://developer.android.com/reference/android/media/MediaDrm#requiresSecureDecoder(java.lang.String)"><code>MediaDrm.requiresSecureDecoder</code></a> method (<a href="https://redirect.github.com/androidx/media/issues/1603">#1603</a>).</li> </ul> </li> <li>Effect: <ul> <li>Add a <code>release()</code> method to <code>GlObjectsProvider</code>.</li> </ul> </li> <li>Session: <ul> <li>Transform a double-tap of <code>KEYCODE_HEADSETHOOK</code> into a 'seek to next' action, as <a href="https://developer.android.com/reference/androidx/media3/session/MediaSession#media-key-events-mapping">documented</a> (<a href="https://redirect.github.com/androidx/media/issues/1493">#1493</a>).</li> <li>Handle <code>KEYCODE_HEADSETHOOK</code> as a 'play' command in <code>MediaButtonReceiver</code> when deciding whether to ignore it to avoid a <code>ForegroundServiceDidNotStartInTimeException</code> (<a href="https://redirect.github.com/androidx/media/issues/1581">#1581</a>).</li> </ul> </li> <li>RTSP Extension: <ul> <li>Skip invalid Media Descriptions in SDP parsing (<a href="https://redirect.github.com/androidx/media/issues/1472">#1087</a>).</li> </ul> </li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/androidx/media/blob/release/RELEASENOTES.md">androidx.media3:media3-exoplayer-smoothstreaming's changelog</a>.</em></p> <blockquote> <h3>1.4.1 (2024-08-23)</h3> <p>This release includes the following changes since the <a href="https://github.com/androidx/media/blob/release/#140-2024-07-24">1.4.0 release</a>:</p> <ul> <li>ExoPlayer: <ul> <li>Handle preload callbacks asynchronously in <code>PreloadMediaSource</code> (<a href="https://redirect.github.com/androidx/media/issues/1568">#1568</a>).</li> <li>Allow playback regardless of buffered duration when loading fails (<a href="https://redirect.github.com/androidx/media/issues/1571">#1571</a>).</li> </ul> </li> <li>Extractors: <ul> <li>MP3: Fix <code>Searched too many bytes</code> error by correctly ignoring trailing non-MP3 data based on the length field in an <code>Info</code> frame (<a href="https://redirect.github.com/androidx/media/issues/1480">#1480</a>).</li> </ul> </li> <li>Text: <ul> <li>TTML: Fix handling of percentage <code>tts:fontSize</code> values to ensure they are correctly inherited from parent nodes with percentage <code>tts:fontSize</code> values.</li> <li>Fix <code>IndexOutOfBoundsException</code> in <code>LegacySubtitleUtil</code> due to incorrectly handling the case of the requested output start time being greater than or equal to the final event time in the <code>Subtitle</code> (<a href="https://redirect.github.com/androidx/media/issues/1516">#1516</a>).</li> </ul> </li> <li>DRM: <ul> <li>Fix <code>android.media.MediaCodec$CryptoException: Operation not supported in this configuration: ERROR_DRM_CANNOT_HANDLE</code> error on API 31+ devices playing L1 Widevine content. This error is caused by an incomplete implementation of the framework <a href="https://developer.android.com/reference/android/media/MediaDrm#requiresSecureDecoder(java.lang.String)"><code>MediaDrm.requiresSecureDecoder</code></a> method (<a href="https://redirect.github.com/androidx/media/issues/1603">#1603</a>).</li> </ul> </li> <li>Effect: <ul> <li>Add a <code>release()</code> method to <code>GlObjectsProvider</code>.</li> </ul> </li> <li>Session: <ul> <li>Transform a double-tap of <code>KEYCODE_HEADSETHOOK</code> into a 'seek to next' action, as <a href="https://developer.android.com/reference/androidx/media3/session/MediaSession#media-key-events-mapping">documented</a> (<a href="https://redirect.github.com/androidx/media/issues/1493">#1493</a>).</li> <li>Handle <code>KEYCODE_HEADSETHOOK</code> as a 'play' command in <code>MediaButtonReceiver</code> when deciding whether to ignore it to avoid a <code>ForegroundServiceDidNotStartInTimeException</code> (<a href="https://redirect.github.com/androidx/media/issues/1581">#1581</a>).</li> </ul> </li> <li>RTSP Extension: <ul> <li>Skip invalid Media Descriptions in SDP parsing (<a href="https://redirect.github.com/androidx/media/issues/1472">#1087</a>).</li> </ul> </li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/androidx/media/commit/c35a9d62baec57118ea898e271ac66819399649b"><code>c35a9d6</code></a> Bump media3 version to 1.4.1</li> <li><a href="https://github.com/androidx/media/commit/517762c08747c597d85be2e6c497a15f3674d340"><code>517762c</code></a> Update release notes for 1.4.1 bug fix release</li> <li><a href="https://github.com/androidx/media/commit/88b640136a8bbe6ceb046c3718a034bdd4e92fd7"><code>88b6401</code></a> Allow playback regardless buffered duration when loading fails</li> <li><a href="https://github.com/androidx/media/commit/9b39e3514f40327d7201a7b894247a625f278412"><code>9b39e35</code></a> Update translations</li> <li><a href="https://github.com/androidx/media/commit/b184677b7b50652ea9a97d1504c80f171143d7d9"><code>b184677</code></a> Check WV version before relying on <code>MediaDrm.requiresSecureDecoder</code></li> <li><a href="https://github.com/androidx/media/commit/f139d709c7eacc99edb2912126746b6c6d44ae2f"><code>f139d70</code></a> Handle preload callbacks asynchronously in PreloadMediaSource</li> <li><a href="https://github.com/androidx/media/commit/07e9c659d75e8f295a6a6feebb1090ad532e36fb"><code>07e9c65</code></a> Handle <code>HEADSETHOOK</code> as 'play' in <code>MediaButtonReceiver.onReceive</code></li> <li><a href="https://github.com/androidx/media/commit/eebf081528aef899461f24322a62d5e85e544994"><code>eebf081</code></a> Pass missing <code>length</code> into <code>SubtitleParser</code> from <code>SubtitleExtractor</code></li> <li><a href="https://github.com/androidx/media/commit/c773789edb778ea8cdb81c707d4637ee5a5acac5"><code>c773789</code></a> Skip invalid media description in <code>SessionDescriptionParser</code></li> <li><a href="https://github.com/androidx/media/commit/bf934495df4cc645579ecb0c03dee4e3d5fc1f9d"><code>bf93449</code></a> Fix <code>IndexOutOfBoundsException</code> in <code>LegacySubtitleUtil</code></li> <li>Additional commits viewable in <a href="https://github.com/androidx/media/compare/1.4.0...1.4.1">compare view</a></li> </ul> </details> <br /> Updates `androidx.media3:media3-test-utils` from 1.4.0 to 1.4.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/androidx/media/releases">androidx.media3:media3-test-utils's releases</a>.</em></p> <blockquote> <h2>1.4.1</h2> <p>This release includes the following changes since the <a href="https://github.com/androidx/media/blob/HEAD/#140-2024-07-24">1.4.0 release</a>:</p> <ul> <li>ExoPlayer: <ul> <li>Handle preload callbacks asynchronously in <code>PreloadMediaSource</code> (<a href="https://redirect.github.com/androidx/media/issues/1568">#1568</a>).</li> <li>Allow playback regardless of buffered duration when loading fails (<a href="https://redirect.github.com/androidx/media/issues/1571">#1571</a>).</li> </ul> </li> <li>Extractors: <ul> <li>MP3: Fix <code>Searched too many bytes</code> error by correctly ignoring trailing non-MP3 data based on the length field in an <code>Info</code> frame (<a href="https://redirect.github.com/androidx/media/issues/1480">#1480</a>).</li> </ul> </li> <li>Text: <ul> <li>TTML: Fix handling of percentage <code>tts:fontSize</code> values to ensure they are correctly inherited from parent nodes with percentage <code>tts:fontSize</code> values.</li> <li>Fix <code>IndexOutOfBoundsException</code> in <code>LegacySubtitleUtil</code> due to incorrectly handling the case of the requested output start time being greater than or equal to the final event time in the <code>Subtitle</code> (<a href="https://redirect.github.com/androidx/media/issues/1516">#1516</a>).</li> </ul> </li> <li>DRM: <ul> <li>Fix <code>android.media.MediaCodec$CryptoException: Operation not supported in this configuration: ERROR_DRM_CANNOT_HANDLE</code> error on API 31+ devices playing L1 Widevine content. This error is caused by an incomplete implementation of the framework <a href="https://developer.android.com/reference/android/media/MediaDrm#requiresSecureDecoder(java.lang.String)"><code>MediaDrm.requiresSecureDecoder</code></a> method (<a href="https://redirect.github.com/androidx/media/issues/1603">#1603</a>).</li> </ul> </li> <li>Effect: <ul> <li>Add a <code>release()</code> method to <code>GlObjectsProvider</code>.</li> </ul> </li> <li>Session: <ul> <li>Transform a double-tap of <code>KEYCODE_HEADSETHOOK</code> into a 'seek to next' action, as <a href="https://developer.android.com/reference/androidx/media3/session/MediaSession#media-key-events-mapping">documented</a> (<a href="https://redirect.github.com/androidx/media/issues/1493">#1493</a>).</li> <li>Handle <code>KEYCODE_HEADSETHOOK</code> as a 'play' command in <code>MediaButtonReceiver</code> when deciding whether to ignore it to avoid a <code>ForegroundServiceDidNotStartInTimeException</code> (<a href="https://redirect.github.com/androidx/media/issues/1581">#1581</a>).</li> </ul> </li> <li>RTSP Extension: <ul> <li>Skip invalid Media Descriptions in SDP parsing (<a href="https://redirect.github.com/androidx/media/issues/1472">#1087</a>).</li> </ul> </li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/androidx/media/blob/release/RELEASENOTES.md">androidx.media3:media3-test-utils's changelog</a>.</em></p> <blockquote> <h3>1.4.1 (2024-08-23)</h3> <p>This release includes the following changes since the <a href="https://github.com/androidx/media/blob/release/#140-2024-07-24">1.4.0 release</a>:</p> <ul> <li>ExoPlayer: <ul> <li>Handle preload callbacks asynchronously in <code>PreloadMediaSource</code> (<a href="https://redirect.github.com/androidx/media/issues/1568">#1568</a>).</li> <li>Allow playback regardless of buffered duration when loading fails (<a href="https://redirect.github.com/androidx/media/issues/1571">#1571</a>).</li> </ul> </li> <li>Extractors: <ul> <li>MP3: Fix <code>Searched too many bytes</code> error by correctly ignoring trailing non-MP3 data based on the length field in an <code>Info</code> frame (<a href="https://redirect.github.com/androidx/media/issues/1480">#1480</a>).</li> </ul> </li> <li>Text: <ul> <li>TTML: Fix handling of percentage <code>tts:fontSize</code> values to ensure they are correctly inherited from parent nodes with percentage <code>tts:fontSize</code> values.</li> <li>Fix <code>IndexOutOfBoundsException</code> in <code>LegacySubtitleUtil</code> due to incorrectly handling the case of the requested output start time being greater than or equal to the final event time in the <code>Subtitle</code> (<a href="https://redirect.github.com/androidx/media/issues/1516">#1516</a>).</li> </ul> </li> <li>DRM: <ul> <li>Fix <code>android.media.MediaCodec$CryptoException: Operation not supported in this configuration: ERROR_DRM_CANNOT_HANDLE</code> error on API 31+ devices playing L1 Widevine content. This error is caused by an incomplete implementation of the framework <a href="https://developer.android.com/reference/android/media/MediaDrm#requiresSecureDecoder(java.lang.String)"><code>MediaDrm.requiresSecureDecoder</code></a> method (<a href="https://redirect.github.com/androidx/media/issues/1603">#1603</a>).</li> </ul> </li> <li>Effect: <ul> <li>Add a <code>release()</code> method to <code>GlObjectsProvider</code>.</li> </ul> </li> <li>Session: <ul> <li>Transform a double-tap of <code>KEYCODE_HEADSETHOOK</code> into a 'seek to next' action, as <a href="https://developer.android.com/reference/androidx/media3/session/MediaSession#media-key-events-mapping">documented</a> (<a href="https://redirect.github.com/androidx/media/issues/1493">#1493</a>).</li> <li>Handle <code>KEYCODE_HEADSETHOOK</code> as a 'play' command in <code>MediaButtonReceiver</code> when deciding whether to ignore it to avoid a <code>ForegroundServiceDidNotStartInTimeException</code> (<a href="https://redirect.github.com/androidx/media/issues/1581">#1581</a>).</li> </ul> </li> <li>RTSP Extension: <ul> <li>Skip invalid Media Descriptions in SDP parsing (<a href="https://redirect.github.com/androidx/media/issues/1472">#1087</a>).</li> </ul> </li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/androidx/media/commit/c35a9d62baec57118ea898e271ac66819399649b"><code>c35a9d6</code></a> Bump media3 version to 1.4.1</li> <li><a href="https://github.com/androidx/media/commit/517762c08747c597d85be2e6c497a15f3674d340"><code>517762c</code></a> Update release notes for 1.4.1 bug fix release</li> <li><a href="https://github.com/androidx/media/commit/88b640136a8bbe6ceb046c3718a034bdd4e92fd7"><code>88b6401</code></a> Allow playback regardless buffered duration when loading fails</li> <li><a href="https://github.com/androidx/media/commit/9b39e3514f40327d7201a7b894247a625f278412"><code>9b39e35</code></a> Update translations</li> <li><a href="https://github.com/androidx/media/commit/b184677b7b50652ea9a97d1504c80f171143d7d9"><code>b184677</code></a> Check WV version before relying on <code>MediaDrm.requiresSecureDecoder</code></li> <li><a href="https://github.com/androidx/media/commit/f139d709c7eacc99edb2912126746b6c6d44ae2f"><code>f139d70</code></a> Handle preload callbacks asynchronously in PreloadMediaSource</li> <li><a href="https://github.com/androidx/media/commit/07e9c659d75e8f295a6a6feebb1090ad532e36fb"><code>07e9c65</code></a> Handle <code>HEADSETHOOK</code> as 'play' in <code>MediaButtonReceiver.onReceive</code></li> <li><a href="https://github.com/androidx/media/commit/eebf081528aef899461f24322a62d5e85e544994"><code>eebf081</code></a> Pass missing <code>length</code> into <code>SubtitleParser</code> from <code>SubtitleExtractor</code></li> <li><a href="https://github.com/androidx/media/commit/c773789edb778ea8cdb81c707d4637ee5a5acac5"><code>c773789</code></a> Skip invalid media description in <code>SessionDescriptionParser</code></li> <li><a href="https://github.com/androidx/media/commit/bf934495df4cc645579ecb0c03dee4e3d5fc1f9d"><code>bf93449</code></a> Fix <code>IndexOutOfBoundsException</code> in <code>LegacySubtitleUtil</code></li> <li>Additional commits viewable in <a href="https://github.com/androidx/media/compare/1.4.0...1.4.1">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details>
- Loading branch information