#include "AppConfig.h"

namespace RenderCadenceCompositor
{
AppConfig DefaultAppConfig()
{
	AppConfig config;
	config.deckLink.externalKeyingEnabled = false;
	config.deckLink.outputAlphaRequired = false;
	config.outputThread.targetBufferedFrames = 4;
	config.telemetry.interval = std::chrono::seconds(1);
	config.logging.minimumLevel = LogLevel::Log;
	config.logging.writeToConsole = true;
	config.logging.writeToDebugOutput = true;
	config.logging.writeToFile = true;
	config.logging.filePath = "logs/render-cadence-compositor.log";
	config.logging.maxQueuedMessages = 1024;
	config.http.preferredPort = 8080;
	config.http.portSearchCount = 20;
	config.http.idleSleep = std::chrono::milliseconds(10);
	config.shaderLibrary = "shaders";
	config.oscBindAddress = "0.0.0.0";
	config.oscPort = 9000;
	config.oscSmoothing = 0.18;
	config.inputVideoFormat = "1080p";
	config.inputFrameRate = "59.94";
	config.outputVideoFormat = "1080p";
	config.outputFrameRate = "59.94";
	config.autoReload = true;
	config.maxTemporalHistoryFrames = 12;
	config.previewEnabled = false;
	config.previewFps = kDefaultPreviewFps;
	config.warmupCompletedFrames = 4;
	config.warmupTimeout = std::chrono::seconds(3);
	config.prerollTimeout = std::chrono::seconds(3);
	config.prerollPoll = std::chrono::milliseconds(2);
	config.runtimeShaderId = "happy-accident";
	return config;
}
}
