Include ffmpeg extensions for some audio formats (#109)

Related to #103

Adds ffmpeg decoder module to support a few extra audio formats such as
AC3, EAC3, DTS, & TrueHD.

This increases the apk size by about 5.4mb (release 17.4mb->22.8mb), but
definitely worth it for the added support.
This commit is contained in:
damontecres 2025-10-29 20:34:41 -04:00 committed by GitHub
parent f76556f90e
commit b1275ae210
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 666 additions and 5 deletions

View file

@ -535,6 +535,19 @@ sealed interface AppPreference<T> {
valueToIndex = { it.number },
)
val FfmpegPreference =
AppChoicePreference<MediaExtensionStatus>(
title = R.string.ffmpeg_extension_pref,
defaultValue = MediaExtensionStatus.MES_FALLBACK,
getter = { it.playbackPreferences.overrides.mediaExtensionsEnabled },
setter = { prefs, value ->
prefs.updatePlaybackOverrides { mediaExtensionsEnabled = value }
},
displayValues = R.array.ffmpeg_extension_options,
indexToValue = { MediaExtensionStatus.forNumber(it) },
valueToIndex = { it.number },
)
val ClearImageCache =
AppClickablePreference(
title = R.string.clear_image_cache,
@ -657,6 +670,7 @@ val advancedPreferences =
AppPreference.Ac3Supported,
AppPreference.DirectPlayAss,
AppPreference.DirectPlayPgs,
AppPreference.FfmpegPreference,
),
),
PreferenceGroup(

View file

@ -52,6 +52,8 @@ class AppPreferencesSerializer
downmixStereo = AppPreference.DownMixStereo.defaultValue
directPlayAss = AppPreference.DirectPlayAss.defaultValue
directPlayPgs = AppPreference.DirectPlayPgs.defaultValue
mediaExtensionsEnabled =
AppPreference.FfmpegPreference.defaultValue
}.build()
}.build()
homePagePreferences =