SHA256
Move Codec From Normal Config to Encoding Config
This commit is contained in:
7 files changed
+51
-14
No files matched your search
+27
-3
@@ -5,6 +5,7 @@ using System.Linq;
|
||||
using MelonLoader;
|
||||
using MelonLoader.Utils;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
||||
namespace ADOFAIRenderer.Data
|
||||
{
|
||||
@@ -68,10 +69,33 @@ namespace ADOFAIRenderer.Data
|
||||
try
|
||||
{
|
||||
string json = File.ReadAllText(file);
|
||||
var preset = JsonConvert.DeserializeObject<RenderPreset>(json);
|
||||
if (preset != null && !string.IsNullOrEmpty(preset.Name) && preset.Config != null)
|
||||
var jObject = JsonConvert.DeserializeObject<JObject>(json);
|
||||
if (jObject != null)
|
||||
{
|
||||
presets.Add(preset);
|
||||
var configToken = jObject["Config"];
|
||||
if (configToken is JObject configObj)
|
||||
{
|
||||
var legacyCodecToken = configObj["Codec"];
|
||||
if (legacyCodecToken != null)
|
||||
{
|
||||
var encodingConfigToken = configObj["EncodingConfig"];
|
||||
if (encodingConfigToken == null)
|
||||
{
|
||||
configObj["EncodingConfig"] = new JObject();
|
||||
}
|
||||
|
||||
var encodingConfigObj = (JObject)configObj["EncodingConfig"]!;
|
||||
encodingConfigObj["Codec"] ??= legacyCodecToken;
|
||||
|
||||
configObj.Remove("Codec");
|
||||
}
|
||||
}
|
||||
|
||||
var preset = jObject.ToObject<RenderPreset>();
|
||||
if (preset != null && !string.IsNullOrEmpty(preset.Name))
|
||||
{
|
||||
presets.Add(preset);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
||||
@@ -10,7 +10,6 @@ namespace ADOFAIRenderer.Data
|
||||
public int RenderWidth { get; set; }
|
||||
public int RenderHeight { get; set; }
|
||||
|
||||
public Codec Codec { get; set; }
|
||||
public EncodingConfig? EncodingConfig { get; set; }
|
||||
|
||||
public double DelayAfterLevelEnd { get; set; }
|
||||
@@ -26,6 +25,7 @@ namespace ADOFAIRenderer.Data
|
||||
|
||||
public class EncodingConfig
|
||||
{
|
||||
public Codec Codec { get; set; } = Codec.H264;
|
||||
public RateControlMode RateControlMode { get; set; }
|
||||
|
||||
public int Bitrate { get; set; }
|
||||
|
||||
Reference in new issue
Block a user