Update AndroidX Media3 to 1.2.1.

This commit is contained in:
Nicholas Tinsley 2024-01-18 17:32:08 -05:00 committed by Greyson Parrelli
parent 69c864f984
commit ac0812a6dd
4 changed files with 61 additions and 61 deletions

View file

@ -3,7 +3,6 @@ package org.thoughtcrime.securesms.components.voice
import android.content.Context
import androidx.annotation.OptIn
import androidx.media3.common.util.UnstableApi
import androidx.media3.exoplayer.audio.AudioCapabilities
import androidx.media3.exoplayer.audio.AudioSink
import androidx.media3.exoplayer.audio.DefaultAudioSink
import org.signal.core.util.logging.Log
@ -19,12 +18,9 @@ class RetryableInitAudioSink(
context: Context,
enableFloatOutput: Boolean,
enableAudioTrackPlaybackParams: Boolean,
enableOffload: Boolean,
val delegate: AudioSink = DefaultAudioSink.Builder()
.setAudioCapabilities(AudioCapabilities.getCapabilities(context))
val delegate: AudioSink = DefaultAudioSink.Builder(context)
.setEnableFloatOutput(enableFloatOutput)
.setEnableAudioTrackPlaybackParams(enableAudioTrackPlaybackParams)
.setOffloadMode(if (enableOffload) DefaultAudioSink.OFFLOAD_MODE_ENABLED_GAPLESS_REQUIRED else DefaultAudioSink.OFFLOAD_MODE_DISABLED)
.build()
) : AudioSink by delegate {

View file

@ -20,7 +20,7 @@ import org.thoughtcrime.securesms.video.exo.SignalMediaSourceFactory
@OptIn(UnstableApi::class)
class VoiceNotePlayer @JvmOverloads constructor(
context: Context,
private val internalPlayer: ExoPlayer = ExoPlayer.Builder(context)
internalPlayer: ExoPlayer = ExoPlayer.Builder(context)
.setRenderersFactory(WorkaroundRenderersFactory(context))
.setMediaSourceFactory(SignalMediaSourceFactory(context))
.setLoadControl(
@ -35,13 +35,6 @@ class VoiceNotePlayer @JvmOverloads constructor(
setAudioAttributes(AudioAttributes.Builder().setContentType(C.AUDIO_CONTENT_TYPE_MUSIC).setUsage(C.USAGE_MEDIA).build(), true)
}
/**
* Required to expose this because this is unique to [ExoPlayer], not the generic [androidx.media3.common.Player] interface.
*/
fun setAudioAttributes(audioAttributes: AudioAttributes, handleAudioFocus: Boolean) {
internalPlayer.setAudioAttributes(audioAttributes, handleAudioFocus)
}
override fun seekTo(windowIndex: Int, positionMs: Long) {
super.seekTo(windowIndex, positionMs)
@ -66,7 +59,8 @@ class VoiceNotePlayer @JvmOverloads constructor(
*/
@OptIn(androidx.media3.common.util.UnstableApi::class)
class WorkaroundRenderersFactory(val context: Context) : DefaultRenderersFactory(context) {
override fun buildAudioSink(context: Context, enableFloatOutput: Boolean, enableAudioTrackPlaybackParams: Boolean, enableOffload: Boolean): AudioSink? {
return RetryableInitAudioSink(context, enableFloatOutput, enableAudioTrackPlaybackParams, enableOffload)
override fun buildAudioSink(context: Context, enableFloatOutput: Boolean, enableAudioTrackPlaybackParams: Boolean): AudioSink {
return RetryableInitAudioSink(context, enableFloatOutput, enableAudioTrackPlaybackParams)
}
}

View file

@ -9,7 +9,7 @@ dependencyResolutionManagement {
version("androidx-camera", "1.3.0-rc01")
version("androidx-fragment", "1.6.1")
version("androidx-lifecycle", "2.6.1")
version("androidx-media3", "1.1.0")
version("androidx-media3", "1.2.1")
version("androidx-navigation", "2.6.0")
version("androidx-window", "1.0.0")
version("exoplayer", "2.19.0")
@ -67,6 +67,8 @@ dependencyResolutionManagement {
library("androidx-media3-exoplayer", "androidx.media3", "media3-exoplayer").versionRef("androidx-media3")
library("androidx-media3-session", "androidx.media3", "media3-session").versionRef("androidx-media3")
library("androidx-media3-ui", "androidx.media3", "media3-ui").versionRef("androidx-media3")
library("androidx-media3-decoder", "androidx.media3", "media3-decoder").versionRef("androidx-media3")
library("androidx-media3-common", "androidx.media3", "media3-common").versionRef("androidx-media3")
library("androidx-multidex", "androidx.multidex:multidex:2.0.1")
library("androidx-navigation-fragment-ktx", "androidx.navigation", "navigation-fragment-ktx").versionRef("androidx-navigation")
library("androidx-navigation-ui-ktx", "androidx.navigation", "navigation-ui-ktx").versionRef("androidx-navigation")

View file

@ -1025,6 +1025,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
<sha256 value="44d1e007ccced0a102cb955e5cdc6e94156fdfabf45db586f47b666f33031da1" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.exifinterface" name="exifinterface" version="1.3.6">
<artifact name="exifinterface-1.3.6.aar">
<sha256 value="1804105e9e05fdd8f760413bad5de498c381aa329f4f9d94c851bc891ac654c6" origin="Generated by Gradle"/>
</artifact>
<artifact name="exifinterface-1.3.6.module">
<sha256 value="5e9fd84ca3fd3b7706f6856fa4383107de8676bf7c42b7d4b8108949414d6201" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.fragment" name="fragment" version="1.0.0">
<artifact name="fragment-1.0.0.aar">
<sha256 value="65dd32d71fe65a32e77989a6cfb1ad09307038927f82a740c7611162d0b518f8" origin="Generated by Gradle"/>
@ -1301,76 +1309,76 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
<sha256 value="44d12bf8f7ce879f03af00ba01b556751d0073440fed1150128e903974c4def0" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.media3" name="media3-common" version="1.1.0">
<artifact name="media3-common-1.1.0.aar">
<sha256 value="1dd31798aa20f040528d3c900dc262122a3f4657ac96f32dcbb4c8560ca8310d" origin="Generated by Gradle"/>
<component group="androidx.media3" name="media3-common" version="1.2.1">
<artifact name="media3-common-1.2.1.aar">
<sha256 value="3ddd33e8c114b61276adc4eab0e2c87854093fc678e8bb8c30be3ba96fd3b717" origin="Generated by Gradle"/>
</artifact>
<artifact name="media3-common-1.1.0.module">
<sha256 value="33aab3e709760bde1102c80768d934f4cb3f70cdb6ff8d980f70b0d5d9f24e1f" origin="Generated by Gradle"/>
<artifact name="media3-common-1.2.1.module">
<sha256 value="24f572989e6cb86468a0c7ef74b8b5df11d6d9fcb8f7a0d1c24d8bf017d77eb2" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.media3" name="media3-container" version="1.1.0">
<artifact name="media3-container-1.1.0.aar">
<sha256 value="22c06a510447df925ca51a974ea3fdb278f927392881189346f720be9c61fa1c" origin="Generated by Gradle"/>
<component group="androidx.media3" name="media3-container" version="1.2.1">
<artifact name="media3-container-1.2.1.aar">
<sha256 value="e67d8b50fdb174aa23238f79b3583a485caca9658524b506b5ead6e9c47d1b64" origin="Generated by Gradle"/>
</artifact>
<artifact name="media3-container-1.1.0.module">
<sha256 value="b739cf49445bf078460c84ad2d1da0b84d4235624a41e59f1fa33b43a54cfe3f" origin="Generated by Gradle"/>
<artifact name="media3-container-1.2.1.module">
<sha256 value="9005eb3c4693e829d3393c849f90a27138bc0ef3ccfbb7ca5f1c6d74ddcd3771" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.media3" name="media3-database" version="1.1.0">
<artifact name="media3-database-1.1.0.aar">
<sha256 value="5fe92576a8bfa75af43c7f0f44b51c16d65dbb682c2f20c89e789ef7b695fdd7" origin="Generated by Gradle"/>
<component group="androidx.media3" name="media3-database" version="1.2.1">
<artifact name="media3-database-1.2.1.aar">
<sha256 value="254d600819ea03ec4c21e83c3abfefd22c1d1864074e5caaa753188f6c451195" origin="Generated by Gradle"/>
</artifact>
<artifact name="media3-database-1.1.0.module">
<sha256 value="e4ec2441bf55622466fbeef97d1bf09264312acb09576dd8d7a8d5331a2740f1" origin="Generated by Gradle"/>
<artifact name="media3-database-1.2.1.module">
<sha256 value="d932fb4d0f211264a98f128240fa1e5eb55a4db233b333b89c0b65f6a1d61e18" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.media3" name="media3-datasource" version="1.1.0">
<artifact name="media3-datasource-1.1.0.aar">
<sha256 value="726447a737073feaffe32a71607aff10d0e078593e6040ea9c0eac8656bd3814" origin="Generated by Gradle"/>
<component group="androidx.media3" name="media3-datasource" version="1.2.1">
<artifact name="media3-datasource-1.2.1.aar">
<sha256 value="6da0f6885c853a1ff9e2874f8ecf684d7b8d18d45d8c18bc1b7c495f05a5b4d5" origin="Generated by Gradle"/>
</artifact>
<artifact name="media3-datasource-1.1.0.module">
<sha256 value="b53c6041466b97dc75d6c9604113bffccc43444470e47130ce510f4804e00ef0" origin="Generated by Gradle"/>
<artifact name="media3-datasource-1.2.1.module">
<sha256 value="1f4c6af52a332bc85f729f10e7a49e1fbdb884293bdfa9c0149d9b88e1640f78" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.media3" name="media3-decoder" version="1.1.0">
<artifact name="media3-decoder-1.1.0.aar">
<sha256 value="fdecf3e7ef2dec69dddaa6958506158b1ccbae3c83542b46448d595727510f5f" origin="Generated by Gradle"/>
<component group="androidx.media3" name="media3-decoder" version="1.2.1">
<artifact name="media3-decoder-1.2.1.aar">
<sha256 value="8e448a83aff47c7eadb4dbdbfce48086adcdf850bec833450ae69206f83e276d" origin="Generated by Gradle"/>
</artifact>
<artifact name="media3-decoder-1.1.0.module">
<sha256 value="8560ac3db7a314eb46ce026dd254ebdc7373f5e82b8a40f5b7930aa16c6da5f9" origin="Generated by Gradle"/>
<artifact name="media3-decoder-1.2.1.module">
<sha256 value="bf37a49e17e4589ceb3148c0c9314cf4b5d87903c78b316de3809cd21daf70bc" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.media3" name="media3-exoplayer" version="1.1.0">
<artifact name="media3-exoplayer-1.1.0.aar">
<sha256 value="ec7b813907df1c756d39c39be392097289a1e6915f0e8c986fc6772d2dfd38a2" origin="Generated by Gradle"/>
<component group="androidx.media3" name="media3-exoplayer" version="1.2.1">
<artifact name="media3-exoplayer-1.2.1.aar">
<sha256 value="85204c2fbcb4ea68fd11b9c45da16b691898147a21e3e9d95796ad5b45c41f30" origin="Generated by Gradle"/>
</artifact>
<artifact name="media3-exoplayer-1.1.0.module">
<sha256 value="95f918a5a224f19e69c81bfe9917693875da28f555f84b03459347373802475a" origin="Generated by Gradle"/>
<artifact name="media3-exoplayer-1.2.1.module">
<sha256 value="197a1c69d1aeb7a71b8c60a79579a7e8db19c53c780d32b129747d5a54a7ad34" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.media3" name="media3-extractor" version="1.1.0">
<artifact name="media3-extractor-1.1.0.aar">
<sha256 value="5d6a3e089701450fa489a604f92580011d21c54fe7eeb3fee067efc541e4e58a" origin="Generated by Gradle"/>
<component group="androidx.media3" name="media3-extractor" version="1.2.1">
<artifact name="media3-extractor-1.2.1.aar">
<sha256 value="66955b7f5bcd09d34999723b77ccc727abcdb96fda914dc2e663c282718feeed" origin="Generated by Gradle"/>
</artifact>
<artifact name="media3-extractor-1.1.0.module">
<sha256 value="5c7156143dcdce93c4b35a6cf9bd2bd34a9b4d003cb6ec2e0cebe5e9623b5ba5" origin="Generated by Gradle"/>
<artifact name="media3-extractor-1.2.1.module">
<sha256 value="626d3549cb3d820e7788499d2d435bb93a74b9b92357acb494cf0912db1c9df5" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.media3" name="media3-session" version="1.1.0">
<artifact name="media3-session-1.1.0.aar">
<sha256 value="abae9db48fa3907b833aaddcc6c545c4f86bfa6a03aae3ad9de75a049daed604" origin="Generated by Gradle"/>
<component group="androidx.media3" name="media3-session" version="1.2.1">
<artifact name="media3-session-1.2.1.aar">
<sha256 value="acf6af7714fb6a055966845be67e3c6e43284ba2ef77e34249cba7080be30717" origin="Generated by Gradle"/>
</artifact>
<artifact name="media3-session-1.1.0.module">
<sha256 value="f210e40037916a1e8d2b4b63c2467573db2323a97ff45007e5c7a3b5d73c4bd3" origin="Generated by Gradle"/>
<artifact name="media3-session-1.2.1.module">
<sha256 value="6b7b282a2694ee908dc30268e31141f9119314f86c61dde8fbc0621d9a328e2d" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.media3" name="media3-ui" version="1.1.0">
<artifact name="media3-ui-1.1.0.aar">
<sha256 value="231359bf75f653cb3574b21bbde29ac511cf2516a3b14044bdfb25a36ad502c7" origin="Generated by Gradle"/>
<component group="androidx.media3" name="media3-ui" version="1.2.1">
<artifact name="media3-ui-1.2.1.aar">
<sha256 value="d20c0cfb29b9e412e1941fc26d856318d1af912848e3deb972856950f661cadf" origin="Generated by Gradle"/>
</artifact>
<artifact name="media3-ui-1.1.0.module">
<sha256 value="9ee4eabef9c5658681e79dc2bb2b6bc931111e25c33b53be1b958e5d4a309392" origin="Generated by Gradle"/>
<artifact name="media3-ui-1.2.1.module">
<sha256 value="e2531707a9e6c2f64b2a2b182ba110de08e9c96201abffcf6432d4261c7ac016" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="androidx.multidex" name="multidex" version="2.0.1">