class Processor
Defined at line 1991 of file fidling/gen/sdk/fidl/fuchsia.audio.effects/fuchsia.audio.effects/hlcpp/fuchsia/audio/effects/cpp/fidl.h
An audio effect processor. Consumes one or more input streams, producing one
or more output streams. On creation, this protocol must be tied to a
[`fuchsia.audio.effects.Processor/ProcessorConfiguration`], which defines
the processor's input and output streams.
Public Methods
void ~Processor ()
void Process (uint64_t num_frames, ::fuchsia::audio::effects::ProcessOptions options, ProcessCallback callback)
Processes the given number of frames. This will consume `num_frames` from
each `ProcessorConfiguration.inputs[i]` and produce an equivalent number of
frames in each `ProcessorConfiguration.outputs[i]`.
## Execution model
All inputs and outputs must have identical frame rates. This simplifies
the problem of matching input and output frames, as described below.
At each call to `Process`, the effect collects audio from a set of input buffers
and produces a set of output buffers. The input buffers should be aligned by
time. That means: the first frame in each input buffer, input[i].buffer[0],
should have the same presentation time as all other frames input[j].buffer[0].
Output buffers with non-zero latency may be shifted relative to input buffers.
For each output k, input frame 0 has the same presentation time as the frame at
output[k].buffer[output[k].latency_frames].
+ request `num_frames` The number of frames to process.
+ request `options` Extra options.
- response `per_stage_metrics `Metrics about this process call, possibly
subdivided into multiple stages.
* error A zx.Status value indicating success or failure.