More mpv options (#205)
* Add mpv options: hwdec, hwdec-codecs, vo, gpu-api * Add audio output option * Use AppPreferences in companion object to set the vo * Remove unused strings * Use strings for mpv prefs * Change default ao to audiotrack * Clean up preferred language settings
This commit is contained in:
parent
ff8ec7e6fe
commit
6e9adca9d6
23 changed files with 110 additions and 75 deletions
|
@ -51,7 +51,6 @@ import timber.log.Timber
|
|||
class MPVPlayer(
|
||||
context: Context,
|
||||
requestAudioFocus: Boolean,
|
||||
preferredLanguages: Map<String, String>,
|
||||
private val appPreferences: AppPreferences
|
||||
) : BasePlayer(), MPVLib.EventObserver, AudioManager.OnAudioFocusChangeListener {
|
||||
|
||||
|
@ -77,17 +76,14 @@ class MPVPlayer(
|
|||
// General
|
||||
MPVLib.setOptionString("config", "yes")
|
||||
MPVLib.setOptionString("config-dir", mpvDir.path)
|
||||
MPVLib.setOptionString("vo", "gpu")
|
||||
MPVLib.setOptionString("vo", appPreferences.playerMpvVo)
|
||||
MPVLib.setOptionString("gpu-context", "android")
|
||||
MPVLib.setOptionString("ao", "audiotrack,opensles")
|
||||
MPVLib.setOptionString("gpu-api", appPreferences.playerMpvGpuApi)
|
||||
MPVLib.setOptionString("ao", appPreferences.playerMpvAo)
|
||||
|
||||
// Hardware video decoding
|
||||
if (appPreferences.mpvDisableHwDec) {
|
||||
MPVLib.setOptionString("hwdec", "no")
|
||||
} else {
|
||||
MPVLib.setOptionString("hwdec", "mediacodec-copy")
|
||||
}
|
||||
MPVLib.setOptionString("hwdec-codecs", "h264,hevc,mpeg4,mpeg2video,vp8,vp9,av1")
|
||||
MPVLib.setOptionString("hwdec", appPreferences.playerMpvHwdec)
|
||||
MPVLib.setOptionString("hwdec-codecs", appPreferences.playerMpvHwdecCodecs.joinToString(separator = ","))
|
||||
|
||||
// TLS
|
||||
MPVLib.setOptionString("tls-verify", "no")
|
||||
|
@ -102,6 +98,10 @@ class MPVPlayer(
|
|||
MPVLib.setOptionString("sub-scale-with-window", "yes")
|
||||
MPVLib.setOptionString("sub-use-margins", "no")
|
||||
|
||||
// Language
|
||||
MPVLib.setOptionString("alang", appPreferences.preferredAudioLanguage)
|
||||
MPVLib.setOptionString("slang", appPreferences.preferredSubtitleLanguage)
|
||||
|
||||
// Other options
|
||||
MPVLib.setOptionString("force-window", "no")
|
||||
MPVLib.setOptionString("keep-open", "always")
|
||||
|
@ -113,16 +113,8 @@ class MPVPlayer(
|
|||
|
||||
MPVLib.init()
|
||||
|
||||
for (preferredLanguage in preferredLanguages) {
|
||||
when (preferredLanguage.key) {
|
||||
TrackType.AUDIO -> {
|
||||
MPVLib.setOptionString("alang", preferredLanguage.value)
|
||||
}
|
||||
TrackType.SUBTITLE -> {
|
||||
MPVLib.setOptionString("slang", preferredLanguage.value)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
companionPrefs = appPreferences
|
||||
|
||||
MPVLib.addObserver(this)
|
||||
|
||||
|
@ -1262,6 +1254,8 @@ class MPVPlayer(
|
|||
)
|
||||
.build()
|
||||
|
||||
private lateinit var companionPrefs: AppPreferences
|
||||
|
||||
private val surfaceHolder: SurfaceHolder.Callback = object : SurfaceHolder.Callback {
|
||||
/**
|
||||
* This is called immediately after the surface is first created.
|
||||
|
@ -1275,7 +1269,7 @@ class MPVPlayer(
|
|||
override fun surfaceCreated(holder: SurfaceHolder) {
|
||||
MPVLib.attachSurface(holder.surface)
|
||||
MPVLib.setOptionString("force-window", "yes")
|
||||
MPVLib.setOptionString("vo", "gpu")
|
||||
MPVLib.setOptionString("vo", companionPrefs.playerMpvVo)
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -51,7 +51,19 @@ constructor(
|
|||
Constants.PREF_PLAYER_SEEK_FORWARD_INC,
|
||||
DEFAULT_SEEK_FORWARD_INCREMENT_MS.toString()
|
||||
)!!.toLongOrNull() ?: DEFAULT_SEEK_FORWARD_INCREMENT_MS
|
||||
val mpvDisableHwDec = sharedPreferences.getBoolean("mpv_disable_hwdec", false)
|
||||
val playerMpv = sharedPreferences.getBoolean(Constants.PREF_PLAYER_MPV, false)
|
||||
val playerMpvHwdec = sharedPreferences.getString(Constants.PREF_PLAYER_MPV_HWDEC, "mediacodec-copy")!!
|
||||
val playerMpvHwdecCodecs: Set<String> = sharedPreferences.getStringSet(
|
||||
Constants.PREF_PLAYER_MPV_HWDEC_CODECS,
|
||||
setOf("h264", "hevc", "mpeg4", "mpeg2video", "vp8", "vp9")
|
||||
)!!
|
||||
val playerMpvVo = sharedPreferences.getString(Constants.PREF_PLAYER_MPV_VO, "gpu")!!
|
||||
val playerMpvAo = sharedPreferences.getString(Constants.PREF_PLAYER_MPV_AO, "audiotrack")!!
|
||||
val playerMpvGpuApi = sharedPreferences.getString(Constants.PREF_PLAYER_MPV_GPU_API, "opengl")!!
|
||||
|
||||
// Language
|
||||
val preferredAudioLanguage = sharedPreferences.getString(Constants.PREF_AUDIO_LANGUAGE, "")!!
|
||||
val preferredSubtitleLanguage = sharedPreferences.getString(Constants.PREF_SUBTITLE_LANGUAGE, "")!!
|
||||
|
||||
// Network
|
||||
val requestTimeout = sharedPreferences.getString(
|
||||
|
|
|
@ -16,6 +16,14 @@ object Constants {
|
|||
const val PREF_PLAYER_BRIGHTNESS = "pref_player_brightness"
|
||||
const val PREF_PLAYER_SEEK_BACK_INC = "pref_player_seek_back_inc"
|
||||
const val PREF_PLAYER_SEEK_FORWARD_INC = "pref_player_seek_forward_inc"
|
||||
const val PREF_PLAYER_MPV = "pref_player_mpv"
|
||||
const val PREF_PLAYER_MPV_HWDEC = "pref_player_mpv_hwdec"
|
||||
const val PREF_PLAYER_MPV_HWDEC_CODECS = "pref_player_mpv_hwdec_codecs"
|
||||
const val PREF_PLAYER_MPV_VO = "pref_player_mpv_vo"
|
||||
const val PREF_PLAYER_MPV_AO = "pref_player_mpv_ao"
|
||||
const val PREF_PLAYER_MPV_GPU_API = "pref_player_mpv_gpu_api"
|
||||
const val PREF_AUDIO_LANGUAGE = "pref_audio_language"
|
||||
const val PREF_SUBTITLE_LANGUAGE = "pref_subtitle_language"
|
||||
const val PREF_IMAGE_CACHE = "pref_image_cache"
|
||||
const val PREF_IMAGE_CACHE_SIZE = "pref_image_cache_size"
|
||||
const val PREF_THEME = "theme"
|
||||
|
|
|
@ -66,19 +66,10 @@ constructor(
|
|||
private val sp = PreferenceManager.getDefaultSharedPreferences(application)
|
||||
|
||||
init {
|
||||
val useMpv = sp.getBoolean("mpv_player", false)
|
||||
val preferredAudioLanguage = sp.getString("audio_language", "")!!
|
||||
val preferredSubtitleLanguage = sp.getString("subtitle_language", "")!!
|
||||
|
||||
if (useMpv) {
|
||||
val preferredLanguages = mapOf(
|
||||
TrackType.AUDIO to preferredAudioLanguage,
|
||||
TrackType.SUBTITLE to preferredSubtitleLanguage
|
||||
)
|
||||
if (appPreferences.playerMpv) {
|
||||
player = MPVPlayer(
|
||||
application,
|
||||
false,
|
||||
preferredLanguages,
|
||||
appPreferences
|
||||
)
|
||||
} else {
|
||||
|
@ -89,8 +80,8 @@ constructor(
|
|||
trackSelector.setParameters(
|
||||
trackSelector.buildUponParameters()
|
||||
.setTunnelingEnabled(true)
|
||||
.setPreferredAudioLanguage(preferredAudioLanguage)
|
||||
.setPreferredTextLanguage(preferredSubtitleLanguage)
|
||||
.setPreferredAudioLanguage(appPreferences.preferredAudioLanguage)
|
||||
.setPreferredTextLanguage(appPreferences.preferredSubtitleLanguage)
|
||||
)
|
||||
player = ExoPlayer.Builder(application, renderersFactory)
|
||||
.setTrackSelector(trackSelector)
|
||||
|
|
|
@ -82,8 +82,6 @@
|
|||
<string name="select_playback_speed">Seleccionar la velocidad de reproducción</string>
|
||||
<string name="mpv_player">Reproductor MPV</string>
|
||||
<string name="mpv_player_summary">Usar el reproductor experimental MPV para reproducir contenidos. MPV soporta más códecs de vídeo, audio y subtítulos.</string>
|
||||
<string name="force_software_decoding">Forzar la decodificación por software</string>
|
||||
<string name="force_software_decoding_summary">Deshabilita la decodificación por hardtware y usa solo software. Puede ser útil sí la decodificación por hardware genera artefactos visuales.</string>
|
||||
<string name="download_button_description">Descarga</string>
|
||||
<string name="delete_button_description">Borrar</string>
|
||||
<string name="person_detail_title">Detalles</string>
|
||||
|
|
|
@ -60,7 +60,6 @@
|
|||
<string name="hide">Скрийте</string>
|
||||
<string name="sort_order">Ред на сортиране</string>
|
||||
<string name="download_mobile_data">Свалете с мобилна дата</string>
|
||||
<string name="force_software_decoding">Принудително софтуерно декодиране</string>
|
||||
<string name="ascending">Възходящ</string>
|
||||
<string name="select_audio_track">Изберете аудиопът</string>
|
||||
<string name="select_subtile_track">Изберете писта за субтитри</string>
|
||||
|
@ -93,7 +92,6 @@
|
|||
<string name="no_search_results">Няма резултати от търсенето</string>
|
||||
<string name="settings_category_download">Свалени</string>
|
||||
<string name="manage_servers">Оправляване на сървърите</string>
|
||||
<string name="force_software_decoding_summary">Деактивирайте хардуерното декодиране и използвайте софтуерно декодиране. Може да е полезно, ако хардуерното декодиране дава странни артефакти.</string>
|
||||
<string name="settings_use_cache_summary">Кеширайте снимките на диска за да ускорите времето за зареждане. Ще има ефект след рестартиране на приложението.</string>
|
||||
<string name="settings_cache_size_message">Приложението ще използва това количество MB от вашето дисково пространство, за да съхранява изображения от сървъра на Jellyfin. По-големи стойности може да са от полза при по-бавни мрежи.</string>
|
||||
<string name="descending">Низходящ</string>
|
||||
|
|
|
@ -72,8 +72,6 @@
|
|||
<string name="select_subtile_track">Vyberte titulky</string>
|
||||
<string name="mpv_player">mpv přehrávač</string>
|
||||
<string name="mpv_player_summary">Použít experimentální mpv přehrávač k přehrávání videí. mpv má podporu pro více video a audio kodeků a formátů titulků.</string>
|
||||
<string name="force_software_decoding">Vynutit softwarové dekódování</string>
|
||||
<string name="force_software_decoding_summary">Vypnout hardwarové dekódování a vynutit softwarové dekódování. Může být užitečné pokud hardwarové dekódování produkuje artefakty.</string>
|
||||
<string name="image_description_poster">%1$s plakát</string>
|
||||
<string name="image_description_backdrop">%1$s pozadí</string>
|
||||
</resources>
|
|
@ -82,7 +82,6 @@
|
|||
<string name="about">Über</string>
|
||||
<string name="settings_category_player">Player</string>
|
||||
<string name="mpv_player_summary">Benutze den experimentellen MPV-Player. Dieser unterstützt mehr Codecs in Bezug auf sowohl Video, Audio als auch Untertitel.</string>
|
||||
<string name="force_software_decoding">Erzwinge Software-Dekodierung</string>
|
||||
<string name="download_button_description">Herunterladen</string>
|
||||
<string name="delete_button_description">Löschen</string>
|
||||
<string name="person_detail_title">Details</string>
|
||||
|
@ -117,7 +116,6 @@
|
|||
<string name="player_controls_pause">Pausieren</string>
|
||||
<string name="player_controls_skip">Überspringen</string>
|
||||
<string name="track_selection">[%1$s] %2$s (%3$s)</string>
|
||||
<string name="force_software_decoding_summary">Deaktiviere Hardware-Dekodierung und verwende stattdessen Software-Dekodierung. Von Vorteil, wenn die Hardware-Dekodierung Artefakte erzeugt.</string>
|
||||
<string name="display_extended_title_summary">Zeige erweiterten Episodentitel inklusiver der Staffel und Episodeninformationen (SXX:EXX - Episodenname).</string>
|
||||
<string name="app_description">Native Drittanbieter Jellyfin App</string>
|
||||
<string name="remove_server_dialog_text">Sicher, dass du den Server %1$s entfernen willst</string>
|
||||
|
|
|
@ -82,8 +82,6 @@
|
|||
<string name="select_playback_speed">Seleccionar la velocidad de reproducción</string>
|
||||
<string name="mpv_player">Reproductor MPV</string>
|
||||
<string name="mpv_player_summary">Usar el reproductor experimental MPV para reproducir contenidos. MPV soporta más códecs de vídeo, audio y subtítulos.</string>
|
||||
<string name="force_software_decoding">Forzar la decodificación por software</string>
|
||||
<string name="force_software_decoding_summary">Deshabilita la decodificación por hardtware y usa solo software. Puede ser útil sí la decodificación por hardware genera artefactos visuales.</string>
|
||||
<string name="download_button_description">Descarga</string>
|
||||
<string name="delete_button_description">Borrar</string>
|
||||
<string name="person_detail_title">Detalles</string>
|
||||
|
|
|
@ -82,8 +82,6 @@
|
|||
<string name="select_playback_speed">Selecciona la velocidad de reproducción</string>
|
||||
<string name="mpv_player">Reproductor MPV</string>
|
||||
<string name="mpv_player_summary">Usar el reproductor experimental MPV parar reproducir contenidos. MPV soporta mas códecs de vídeo, audio y subtítulos.</string>
|
||||
<string name="force_software_decoding">Forzar decodificación por software</string>
|
||||
<string name="force_software_decoding_summary">Deshabilite la decodificación de hardware y use la decodificación de software. Puede ser útil si la decodificación de hardware produce artefactos extraños.</string>
|
||||
<string name="download_button_description">Descarga</string>
|
||||
<string name="delete_button_description">Borrar</string>
|
||||
<string name="person_detail_title">Detalles</string>
|
||||
|
|
|
@ -80,7 +80,6 @@
|
|||
<string name="select_playback_speed">Vitesse de lecture</string>
|
||||
<string name="mpv_player">Lecteur MPV</string>
|
||||
<string name="download_mobile_data">Télécharger via données mobiles</string>
|
||||
<string name="force_software_decoding">Forcer le décodage logiciel</string>
|
||||
<string name="download_button_description">Télécharger</string>
|
||||
<string name="delete_button_description">Supprimer</string>
|
||||
<string name="movies_label">Films</string>
|
||||
|
@ -99,7 +98,6 @@
|
|||
<string name="settings_category_download">Téléchargements</string>
|
||||
<string name="privacy_policy">Politique de confidentialité</string>
|
||||
<string name="episode_name_extended">S%1$d:E%2$d - %3$s</string>
|
||||
<string name="force_software_decoding_summary">Désactiver le décodage matériel et utiliser le décodage logiciel. Peut être utile en cas de problèmes avec le décodage matériel.</string>
|
||||
<string name="mpv_player_summary">Utiliser le lecteur MPV (expérimental). Ce lecteur supporte d\'avantage de codecs vidéos, audios et sous-titres.</string>
|
||||
<string name="app_description">Client natif officieux pour Jellyfin</string>
|
||||
<string name="add_server_error_no_id">Le serveur n\'a pas d\'ID, quelque chose semble ne pas fonctionner correctement sur le serveur</string>
|
||||
|
|
|
@ -75,8 +75,6 @@
|
|||
<string name="select_playback_speed">Lejátszási sebesség kiválasztása</string>
|
||||
<string name="mpv_player">mpv lejátszó</string>
|
||||
<string name="download_roaming">Letöltés roaming közben</string>
|
||||
<string name="force_software_decoding">Szoftveres dekódolás használata</string>
|
||||
<string name="force_software_decoding_summary">Kikapcsolja a hardveres dekódolást, és helyette szoftveres dekódolást használ. Hasznos lehet, ha a hardveres dekódolás furcsa effektusokat eredményez.</string>
|
||||
<string name="download_button_description">Letöltés</string>
|
||||
<string name="delete_button_description">Törlés</string>
|
||||
<string name="person_detail_title">Részletek</string>
|
||||
|
|
|
@ -73,8 +73,6 @@
|
|||
<string name="select_audio_track">Seleziona traccia audio</string>
|
||||
<string name="mpv_player_summary">Usa il player MPV sperimentale per riprodurre i video. MPV supporta più video, audio e sottotitoli.</string>
|
||||
<string name="seek_forward_increment">Aumenta l\'andare Avanti veloce di (ms)</string>
|
||||
<string name="force_software_decoding">Forsa la decodifica software</string>
|
||||
<string name="force_software_decoding_summary">Disattiva la decodifica hardware e usa quella software. Può essere utile se la decodifica hardware crea degli artefatti visivi strani.</string>
|
||||
<string name="person_detail_title">Dettagli</string>
|
||||
<string name="player_gestures_vb">Gestures volume e luminosità</string>
|
||||
<string name="initializing">Inizializzazione…</string>
|
||||
|
|
|
@ -118,8 +118,6 @@
|
|||
<string name="next_up">다음</string>
|
||||
<string name="continue_watching">이어서 보기</string>
|
||||
<string name="settings_cache_size_message">설정한 용량의 저장공간 용량을 Jellyfin 서버의 이미지 캐시를 저장하는 데 사용합니다. 값이 클수록 느린 네트워크에서 큰 효과가 있습니다.</string>
|
||||
<string name="force_software_decoding">소프트웨어 디코딩 강제</string>
|
||||
<string name="force_software_decoding_summary">하드웨어 디코딩을 비활성화하고 소프트웨어 디코딩을 사용합니다. 하드웨어 디코딩에서 오류가 발생할 경우 유용할 수 있습니다.</string>
|
||||
<string name="player_gestures_vb_summary">화면 오른쪽을 위아래로 스와이프하여 볼륨을 변경하고 왼쪽을 스와이프하여 밝기 변경</string>
|
||||
<string name="sort_by_options_2">등급</string>
|
||||
<string name="descending">내림차순</string>
|
||||
|
|
|
@ -117,8 +117,6 @@
|
|||
<string name="track_selection">[%1$s] %2$s (%3$s)</string>
|
||||
<string name="add_server_empty_error">Pusty adres serwera</string>
|
||||
<string name="display_extended_title">Wyświetlaj rozszerzony tytuł</string>
|
||||
<string name="force_software_decoding">Wymuś dekodowania programowe</string>
|
||||
<string name="force_software_decoding_summary">Wyłącz dekodowanie sprzętowe i używaj dekodowania programowego. Może być przydatne gdy dekodowanie sprzętowe powoduje artefakty.</string>
|
||||
<string name="remove_server">Usuń serwer</string>
|
||||
<string name="error_loading_data">Błąd ładowania danych</string>
|
||||
<string name="check_button_description">Oznacz jako obejrzane lub nieobejrzane</string>
|
||||
|
|
|
@ -67,7 +67,6 @@
|
|||
<string name="select_playback_speed">Selecione a velocidade de reprodução</string>
|
||||
<string name="mpv_player">Reprodutor mpv</string>
|
||||
<string name="download_mobile_data">Baixar usando dados móveis</string>
|
||||
<string name="force_software_decoding">Forçar decodificação por software</string>
|
||||
<string name="download_button_description">Baixar</string>
|
||||
<string name="delete_button_description">Deletar</string>
|
||||
<string name="person_detail_title">Detalhes da pessoa</string>
|
||||
|
@ -94,5 +93,4 @@
|
|||
<string name="settings_use_cache_summary">Armazena imagens no disco para acelerar o tempo de carregamento. Surte efeito após reiniciar o aplicativo.</string>
|
||||
<string name="search_hint">Busca filmes, shows, episódios…</string>
|
||||
<string name="mpv_player_summary">Usa o reprodutor experimental mpv para reproduzir vídeos. mpv tem suporte a mais codecs de vidro, áudio e legenda.</string>
|
||||
<string name="force_software_decoding_summary">Desabilita decodificação por software. Pode ser útil se decodificação por hardware exibir artefatos estranhos.</string>
|
||||
</resources>
|
|
@ -123,8 +123,6 @@
|
|||
<string name="trailer_button_description">Ver o trailer</string>
|
||||
<string name="player_controls_pause">Pausa</string>
|
||||
<string name="settings_category_servers">Servidores</string>
|
||||
<string name="force_software_decoding">Forçar a descodificação do software</string>
|
||||
<string name="force_software_decoding_summary">Desactivar a descodificação de hardware e utilizar a descodificação por software. Pode ser útil se a descodificação de hardware der artefactos estranhos.</string>
|
||||
<string name="settings_category_download">Transferências</string>
|
||||
<string name="external">Externo</string>
|
||||
<string name="display_extended_title_summary">Mostrar título de episódio alargado incluindo temporada e informação de episódio (SXX:EXX - EpisodeName).</string>
|
||||
|
|
|
@ -82,8 +82,6 @@
|
|||
<string name="download_mobile_data">Скачивать через мобильный интернет</string>
|
||||
<string name="download_roaming">Скачивать в роуминге</string>
|
||||
<string name="mpv_player_summary">Использовать экспериментальный проигрыватель mpv. Он имеет большую поддержку форматов аудио, видео и субтитров.</string>
|
||||
<string name="force_software_decoding">Принудительное программное декодирование</string>
|
||||
<string name="force_software_decoding_summary">Отключает аппаратное декодирование и использует программное. Полезно, если аппаратное декодирование выдаёт артефакты.</string>
|
||||
<string name="download_button_description">Скачать</string>
|
||||
<string name="delete_button_description">Удалить</string>
|
||||
<string name="person_detail_title">Детали</string>
|
||||
|
|
|
@ -66,8 +66,6 @@
|
|||
<string name="mpv_player">mpv播放器</string>
|
||||
<string name="download_mobile_data">使用移动数据下载</string>
|
||||
<string name="download_roaming">漫游时下载</string>
|
||||
<string name="force_software_decoding">强制软件解码</string>
|
||||
<string name="force_software_decoding_summary">禁用硬件解码,使用软件解码。在硬件解码显示异常时可能会起作用。</string>
|
||||
<string name="download_button_description">下载</string>
|
||||
<string name="delete_button_description">删除</string>
|
||||
<string name="person_detail_title">详情</string>
|
||||
|
|
|
@ -12,4 +12,27 @@
|
|||
<item>@string/ascending</item>
|
||||
<item>@string/descending</item>
|
||||
</string-array>
|
||||
<string-array name="mpv_hwdec">
|
||||
<item>no</item>
|
||||
<item>mediacodec</item>
|
||||
<item>mediacodec-copy</item>
|
||||
</string-array>
|
||||
<string-array name="mpv_hwdec_codecs">
|
||||
<item>h264</item>
|
||||
<item>hevc</item>
|
||||
<item>mpeg4</item>
|
||||
<item>mpeg2video</item>
|
||||
<item>vp8</item>
|
||||
<item>vp9</item>
|
||||
</string-array>
|
||||
<string-array name="mpv_vos">
|
||||
<item>gpu</item>
|
||||
</string-array>
|
||||
<string-array name="mpv_aos">
|
||||
<item>audiotrack</item>
|
||||
<item>opensles</item>
|
||||
</string-array>
|
||||
<string-array name="mpv_gpu_api">
|
||||
<item>opengl</item>
|
||||
</string-array>
|
||||
</resources>
|
|
@ -87,8 +87,6 @@
|
|||
<string name="download_mobile_data">Download using mobile data</string>
|
||||
<string name="download_roaming">Download when roaming</string>
|
||||
<string name="mpv_player_summary">Use the experimental mpv player to play videos. mpv has support for more video, audio and subtitle codecs.</string>
|
||||
<string name="force_software_decoding">Force software decoding</string>
|
||||
<string name="force_software_decoding_summary">Disable hardware decoding and use software decoding. Can be useful if hardware decoding gives weird artifacts.</string>
|
||||
<string name="download_button_description">Download</string>
|
||||
<string name="delete_button_description">Delete</string>
|
||||
<string name="person_detail_title">Details</string>
|
||||
|
@ -146,4 +144,9 @@
|
|||
<string name="settings_socket_timeout">Socket timeout (ms)</string>
|
||||
<string name="users">Users</string>
|
||||
<string name="add_user">Add user</string>
|
||||
<string name="pref_player_mpv_hwdec">Hardware decoding</string>
|
||||
<string name="pref_player_mpv_hwdec_codecs">Hardware decoding codecs</string>
|
||||
<string name="pref_player_mpv_vo">Video output</string>
|
||||
<string name="pref_player_mpv_ao">Audio output</string>
|
||||
<string name="pref_player_mpv_gpu_api" translatable="false">GPU API</string>
|
||||
</resources>
|
|
@ -5,7 +5,7 @@
|
|||
app:entries="@array/languages"
|
||||
app:entryValues="@array/languages_values"
|
||||
app:icon="@drawable/ic_speaker"
|
||||
app:key="audio_language"
|
||||
app:key="pref_audio_language"
|
||||
app:title="@string/settings_preferred_audio_language"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
|||
app:entries="@array/languages"
|
||||
app:entryValues="@array/languages_values"
|
||||
app:icon="@drawable/ic_closed_caption"
|
||||
app:key="subtitle_language"
|
||||
app:key="pref_subtitle_language"
|
||||
app:title="@string/settings_preferred_subtitle_language"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
</PreferenceScreen>
|
|
@ -7,19 +7,53 @@
|
|||
|
||||
<Preference
|
||||
app:key="pref_player_subtitles"
|
||||
app:title="@string/subtitles"
|
||||
app:summary="@string/subtitles_summary"/>
|
||||
app:summary="@string/subtitles_summary"
|
||||
app:title="@string/subtitles" />
|
||||
|
||||
<PreferenceCategory app:title="@string/mpv_player">
|
||||
<SwitchPreference
|
||||
app:key="mpv_player"
|
||||
app:key="pref_player_mpv"
|
||||
app:summary="@string/mpv_player_summary"
|
||||
app:title="@string/mpv_player" />
|
||||
<SwitchPreference
|
||||
app:dependency="mpv_player"
|
||||
app:key="mpv_disable_hwdec"
|
||||
app:summary="@string/force_software_decoding_summary"
|
||||
app:title="@string/force_software_decoding" />
|
||||
<DropDownPreference
|
||||
app:defaultValue="mediacodec-copy"
|
||||
app:dependency="pref_player_mpv"
|
||||
app:entries="@array/mpv_hwdec"
|
||||
app:entryValues="@array/mpv_hwdec"
|
||||
app:key="pref_player_mpv_hwdec"
|
||||
app:title="@string/pref_player_mpv_hwdec"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
<MultiSelectListPreference
|
||||
app:defaultValue="@array/mpv_hwdec_codecs"
|
||||
app:dependency="pref_player_mpv"
|
||||
app:entries="@array/mpv_hwdec_codecs"
|
||||
app:entryValues="@array/mpv_hwdec_codecs"
|
||||
app:key="pref_player_mpv_hwdec_codecs"
|
||||
app:title="@string/pref_player_mpv_hwdec_codecs" />
|
||||
<DropDownPreference
|
||||
app:defaultValue="gpu"
|
||||
app:dependency="pref_player_mpv"
|
||||
app:entries="@array/mpv_vos"
|
||||
app:entryValues="@array/mpv_vos"
|
||||
app:key="pref_player_mpv_vo"
|
||||
app:title="@string/pref_player_mpv_vo"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
<DropDownPreference
|
||||
app:defaultValue="audiotrack"
|
||||
app:dependency="pref_player_mpv"
|
||||
app:entries="@array/mpv_aos"
|
||||
app:entryValues="@array/mpv_aos"
|
||||
app:key="pref_player_mpv_ao"
|
||||
app:title="@string/pref_player_mpv_ao"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
<DropDownPreference
|
||||
app:defaultValue="opengl"
|
||||
app:dependency="pref_player_mpv"
|
||||
app:entries="@array/mpv_gpu_api"
|
||||
app:entryValues="@array/mpv_gpu_api"
|
||||
app:key="pref_player_mpv_gpu_api"
|
||||
app:title="@string/pref_player_mpv_gpu_api"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory app:title="@string/gestures">
|
||||
|
|
Loading…
Reference in a new issue