Refactor Audio Codec & Sample Rate Detection

This commit is contained in:
copecone committed 2026-10-06 13:51:52 +09:00
1 parent 48a56cd3f2
commit 394fe00b25
3 files changed
+42 -15

No files matched your search

+17 -2
View File
@@ -188,8 +188,12 @@ internal static class RenderConfigWindow
Codec.H264, config.VideoConfig.Codec,
codecs, c => c.ToString(),
"dd_video_codec",
c => config.VideoConfig.Codec = c
);
c =>
{
config.VideoConfig.Codec = c;
UpdateVideoCodec(c);
});
_bitrateInput = CreateInputField(
ctx, CreateFieldSlot(videoLeft),
LocalizationManager.Get("ui.render_config.bitrate"),
@@ -198,6 +202,7 @@ internal static class RenderConfigWindow
TMPro.TMP_InputField.CharacterValidation.Integer,
val => { if (int.TryParse(val, out var b) && b > 0) config.VideoConfig.Bitrate = b; }
);
_qpInput = CreateInputField(
ctx, CreateFieldSlot(videoLeft),
LocalizationManager.Get("ui.render_config.qp"),
@@ -216,6 +221,7 @@ internal static class RenderConfigWindow
"dd_rate_control",
m => config.VideoConfig.RateControlMode = m
);
_maxBitrateInput = CreateInputField(
ctx, CreateFieldSlot(videoRight),
LocalizationManager.Get("ui.render_config.max_bitrate"),
@@ -384,6 +390,7 @@ internal static class RenderConfigWindow
"dd_adv_file_extension",
e => { if (!string.IsNullOrEmpty(e)) config.AdvancedConfig.FileExtension = e; }
);
_processAudioToggle = CreateToggleField(
ctx, CreateFieldSlot(advLeft), "",
true, config.AdvancedConfig.ProcessAudio,
@@ -405,6 +412,7 @@ internal static class RenderConfigWindow
else if (string.IsNullOrWhiteSpace(val)) config.AdvancedConfig.RandomSeed = null;
}
);
_nonTileToggle = CreateToggleField(
ctx, CreateFieldSlot(advRight), "",
false, config.AdvancedConfig.NonTile,
@@ -422,6 +430,13 @@ internal static class RenderConfigWindow
"btn_go_render",
height: 48f
);
return;
void UpdateVideoCodec(Codec codec)
{
_sampleRateDropdown?.SetValues(CodecUtil.AvailableSampleRate[CodecUtil.AudioCodecMatch[codec]]);
}
}
private static void EnsureDefaultConfig(RenderConfig config)