mirror of
https://github.com/bbara04/Purefin.git
synced 2026-03-31 17:10:08 +02:00
feat: add FFmpeg decoder support for unsupported audio codecs
Add support for audio codecs like DTS-HD that aren't natively supported by Android's MediaCodec by integrating Jellyfin's FFmpeg decoder extension. Changes: - Add media3-ffmpeg-decoder dependency for software audio decoding - Create AndroidDeviceProfile to detect and report device codec capabilities - Configure ExoPlayer with extension renderer mode and decoder fallback - Update playback URL selection to use transcoding when direct play unsupported - Add CodecDebugHelper for debugging available device codecs This fixes playback failures when encountering premium audio formats by falling back to FFmpeg software decoding when hardware decoding fails.
This commit is contained in:
@@ -18,6 +18,7 @@ okhttp = "4.12.0"
|
||||
foundation = "1.10.1"
|
||||
coil = "3.3.0"
|
||||
media3 = "1.9.0"
|
||||
media3FfmpegDecoder = "1.9.0+1"
|
||||
nav3Core = "1.0.0"
|
||||
room = "2.6.1"
|
||||
|
||||
@@ -53,6 +54,7 @@ coil-network-okhttp = { group = "io.coil-kt.coil3", name = "coil-network-okhttp"
|
||||
medi3-exoplayer = { group = "androidx.media3", name = "media3-exoplayer", version.ref = "media3"}
|
||||
medi3-ui = { group = "androidx.media3", name = "media3-ui", version.ref = "media3"}
|
||||
medi3-ui-compose = { group = "androidx.media3", name = "media3-ui-compose-material3", version.ref = "media3"}
|
||||
medi3-ffmpeg-decoder = { group = "org.jellyfin.media3", name = "media3-ffmpeg-decoder", version.ref = "media3FfmpegDecoder"}
|
||||
androidx-navigation3-runtime = { module = "androidx.navigation3:navigation3-runtime", version.ref = "nav3Core" }
|
||||
androidx-navigation3-ui = { module = "androidx.navigation3:navigation3-ui", version.ref = "nav3Core" }
|
||||
androidx-room-ktx = { module = "androidx.room:room-ktx", version.ref = "room" }
|
||||
|
||||
Reference in New Issue
Block a user