MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ create_custom_domain()

Domain MayaFlux::create_custom_domain ( Nodes::ProcessingToken  node_token,
Buffers::ProcessingToken  buffer_token,
Vruta::ProcessingToken  task_token 
)

Creates a custom domain from individual tokens with validation.

Parameters
node_tokenToken for node processing
buffer_tokenToken for buffer processing
task_tokenToken for task scheduling
Returns
Validated unified Domain enum value
Exceptions
std::invalid_argumentif tokens are incompatible

Definition at line 17 of file Domain.cpp.

20{
21 if (node_token == Nodes::ProcessingToken::AUDIO_RATE && (buffer_token & Buffers::ProcessingToken::FRAME_RATE)) {
22 throw std::invalid_argument("AUDIO_RATE nodes incompatible with FRAME_RATE buffers");
23 }
24
25 if (node_token == Nodes::ProcessingToken::VISUAL_RATE && (buffer_token & Buffers::ProcessingToken::SAMPLE_RATE)) {
26 throw std::invalid_argument("VISUAL_RATE nodes incompatible with SAMPLE_RATE buffers");
27 }
28
29 return compose_domain(node_token, buffer_token, task_token);
30}
static const auto node_token
Definition Chain.cpp:8
Domain compose_domain(Nodes::ProcessingToken node_token, Buffers::ProcessingToken buffer_token, Vruta::ProcessingToken task_token)
Composes individual ProcessingTokens into a unified Domain.
Definition Domain.hpp:149

References MayaFlux::Nodes::AUDIO_RATE, compose_domain(), MayaFlux::Buffers::FRAME_RATE, node_token, MayaFlux::Buffers::SAMPLE_RATE, and MayaFlux::Nodes::VISUAL_RATE.

+ Here is the call graph for this function: