processInto method

int processInto(
  1. Float32List input,
  2. Float32List out
)

Zero-allocation output API for repeated use.

out must have length >= outLenFor(input.length). Returns the number of output samples written.

Implementation

int processInto(Float32List input, Float32List out) {
  final inLen = input.length;
  final outLen = outLenFor(inLen);
  final r = res;

  if (out.length < outLen) {
    throw ArgumentError('out length ${out.length} < required $outLen');
  }

  _ensureInputCapacity(inLen);
  _ensureOutputCapacity(outLen);

  r.inPtr.asTypedList(inLen).setAll(0, input);
  yl_resample_ctx_process(r.ctx, r.inPtr, inLen, r.outPtr);
  out.setRange(0, outLen, r.outPtr.asTypedList(outLen));
  return outLen;
}