template <>

class WireWeakAsyncBufferClientImpl

Defined at line 854 of file fidling/gen/sdk/fidl/fuchsia.audio.effects/fuchsia.audio.effects/cpp/fidl/fuchsia.audio.effects/cpp/wire_messaging.h

Public Methods

::fidl::internal::WireBufferThenable< ::fuchsia_audio_effects::Processor::Process> Process (uint64_t num_frames, ::fuchsia_audio_effects::wire::ProcessOptions options)

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.

Caller provides the backing storage for FIDL message.