diff --git a/README.md b/README.md index 0cd05a99..10842fa3 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ I am developing this application in my spare time. - ExoPlayer - Video codecs: H.263, H.264, H.265, VP8, VP9, AV1 - Support depends on Android device - - Audio codecs: Vorbis, Opus, FLAC, ALAC, PCM, MP3, AMR-NB, AMR-WB, AAC, AC-3, E-AC-3, DTS, DTS-HD, TrueHD + - Audio codecs: Vorbis, Opus, FLAC, ALAC, PCM, MP3, AAC, AC-3, E-AC-3, DTS, DTS-HD, TrueHD - Support provided by ExoPlayer FFmpeg extension - Subtitle codecs: SRT, VTT, SSA/ASS, PGSSUB - SSA/ASS has limited styling support see [this issue](https://github.com/google/ExoPlayer/issues/8435) diff --git a/app/phone/build.gradle.kts b/app/phone/build.gradle.kts index 2782a57a..ff88bbd3 100644 --- a/app/phone/build.gradle.kts +++ b/app/phone/build.gradle.kts @@ -61,6 +61,8 @@ android { } compileOptions { + isCoreLibraryDesugaringEnabled = true + sourceCompatibility = Versions.java targetCompatibility = Versions.java } @@ -109,7 +111,8 @@ dependencies { implementation(libs.jellyfin.core) compileOnly(libs.libmpv) implementation(libs.material) + implementation(libs.media3.ffmpeg.decoder) implementation(libs.timber) - implementation(rootProject.files("libs/lib-decoder-ffmpeg-release.aar")) + coreLibraryDesugaring(libs.android.desugar.jdk) } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 761aeeab..b6474f42 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,6 @@ [versions] aboutlibraries = "11.1.3" +android-desugar-jdk-libs = "2.0.4" android-plugin = "8.3.2" androidx-activity = "1.8.2" androidx-appcompat = "1.6.1" @@ -28,11 +29,13 @@ ksp = "1.9.23-1.0.20" ktlint = "12.1.0" libmpv = "0.2.0" material = "1.11.0" +media3-ffmpeg-decoder = "1.2.1+1" timber = "5.0.1" [libraries] aboutlibraries-core = { group = "com.mikepenz", name = "aboutlibraries-core", version.ref = "aboutlibraries" } aboutlibraries = { group = "com.mikepenz", name = "aboutlibraries", version.ref = "aboutlibraries" } +android-desugar-jdk = { group = "com.android.tools", name = "desugar_jdk_libs", version.ref = "android-desugar-jdk-libs" } androidx-activity = { group = "androidx.activity", name = "activity", version.ref = "androidx-activity" } androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "androidx-activity" } androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "androidx-appcompat" } @@ -76,6 +79,7 @@ hilt-compiler = { group = "com.google.dagger", name = "hilt-compiler", version.r jellyfin-core = { group = "org.jellyfin.sdk", name = "jellyfin-core", version.ref = "jellyfin" } libmpv = { group = "dev.jdtech.mpv", name = "libmpv", version.ref = "libmpv" } material = { group = "com.google.android.material", name = "material", version.ref = "material" } +media3-ffmpeg-decoder = { group = "org.jellyfin.media3", name = "media3-ffmpeg-decoder", version.ref = "media3-ffmpeg-decoder" } timber = { group = "com.jakewharton.timber", name = "timber", version.ref = "timber" } kotlinx-serialization-json = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version.ref = "kotlinx-serialization" } diff --git a/libs/lib-decoder-ffmpeg-release.aar b/libs/lib-decoder-ffmpeg-release.aar deleted file mode 100644 index 519a00e9..00000000 Binary files a/libs/lib-decoder-ffmpeg-release.aar and /dev/null differ