11#include <promeki/config.h>
12#if PROMEKI_ENABLE_PROAV
21PROMEKI_NAMESPACE_BEGIN
102class MediaPipelinePlanner {
127 Quality quality = Quality::Highest;
135 int maxBridgeDepth = 4;
143 StringList excludedBridges;
160 using InjectedStages = ::promeki::Map<String, MediaIO *>;
186 static Error plan(
const MediaPipelineConfig &in, MediaPipelineConfig *out,
187 const Policy &policy = Policy(), String *diagnostic =
nullptr);
201 static Error plan(
const MediaPipelineConfig &in, MediaPipelineConfig *out,
202 const InjectedStages &injected,
const Policy &policy = Policy(),
203 String *diagnostic =
nullptr);
221 static bool isResolved(
const MediaPipelineConfig &config, String *diagnostic =
nullptr);
231 static int adjustCostForQuality(
int rawCost, Quality quality);