feat(subs): render resolution setting for the avfoundation VO

This commit is contained in:
edde746
2026-06-12 21:05:28 +02:00
parent 804261605b
commit 24980aff95
36 changed files with 240 additions and 49 deletions
+10
View File
@@ -40,6 +40,11 @@ enum ContinueWatchingAction { play, details }
enum SubAssOverride { no, yes, scale, force, strip }
/// Resolution ASS/image subtitles are rasterized at on the avfoundation VO
/// (iOS/tvOS): the display's, or the video's (much cheaper on 4K displays;
/// subs can't carry more detail than the video they're typeset against).
enum SubtitleRenderResolution { screen, video }
enum DvConversionModePreference { auto, disabled, dv81, hevcStrip }
extension DvConversionModePreferenceNativeValue on DvConversionModePreference {
@@ -311,6 +316,11 @@ class SettingsService extends BaseSharedPreferencesService {
values: SubAssOverride.values,
defaultValue: SubAssOverride.no,
);
static const subtitleRenderResolution = EnumPref<SubtitleRenderResolution>(
'subtitle_render_resolution',
values: SubtitleRenderResolution.values,
defaultValue: SubtitleRenderResolution.screen,
);
static const subtitleBold = BoolPref('subtitle_bold');
static const subtitleItalic = BoolPref('subtitle_italic');
static const cleanedOldImageCache = BoolPref('cleaned_old_image_cache');