SHA256
Fix Preset Save
This commit is contained in:
5 files changed
+79
-70
No files matched your search
+20
-15
@@ -84,9 +84,9 @@ namespace ADOFAIRenderer.Data
|
||||
|
||||
// 2. legacy top-level Codec -> VideoConfig.Codec
|
||||
var legacyCodecToken = configObj["Codec"];
|
||||
if (legacyCodecToken != null)
|
||||
if (legacyCodecToken != null && legacyCodecToken.Type != JTokenType.Null)
|
||||
{
|
||||
if (configObj["VideoConfig"] == null)
|
||||
if (configObj["VideoConfig"] == null || configObj["VideoConfig"]!.Type == JTokenType.Null)
|
||||
{
|
||||
configObj["VideoConfig"] = new JObject();
|
||||
}
|
||||
@@ -98,22 +98,27 @@ namespace ADOFAIRenderer.Data
|
||||
}
|
||||
|
||||
// 3. legacy top-level Audio properties -> AudioConfig
|
||||
if (configObj["AudioConfig"] == null)
|
||||
string[] legacyAudioProps = { "RenderAudio", "AudioSampleRate", "AudioChannels", "AudioBitrate" };
|
||||
foreach (var prop in legacyAudioProps)
|
||||
{
|
||||
var audioConfigObj = new JObject();
|
||||
if (configObj["RenderAudio"] != null)
|
||||
audioConfigObj["RenderAudio"] = configObj["RenderAudio"];
|
||||
if (configObj["AudioSampleRate"] != null)
|
||||
audioConfigObj["AudioSampleRate"] = configObj["AudioSampleRate"];
|
||||
if (configObj["AudioChannels"] != null)
|
||||
audioConfigObj["AudioChannels"] = configObj["AudioChannels"];
|
||||
if (configObj["AudioBitrate"] != null)
|
||||
audioConfigObj["AudioBitrate"] = configObj["AudioBitrate"];
|
||||
|
||||
if (audioConfigObj.HasValues)
|
||||
var legacyToken = configObj[prop];
|
||||
if (legacyToken != null && legacyToken.Type != JTokenType.Null)
|
||||
{
|
||||
configObj["AudioConfig"] = audioConfigObj;
|
||||
if (configObj["AudioConfig"] == null || configObj["AudioConfig"]!.Type == JTokenType.Null)
|
||||
{
|
||||
configObj["AudioConfig"] = new JObject();
|
||||
}
|
||||
|
||||
var audioConfigObj = (JObject)configObj["AudioConfig"]!;
|
||||
audioConfigObj[prop] ??= legacyToken;
|
||||
}
|
||||
|
||||
configObj.Remove(prop);
|
||||
}
|
||||
|
||||
if (configObj["AudioConfig"] != null && configObj["AudioConfig"]!.Type == JTokenType.Null)
|
||||
{
|
||||
configObj.Remove("AudioConfig");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user