pollAnalyzerFrame method

Float32List pollAnalyzerFrame({
  1. int? maxSamples,
})

Implementation

Float32List pollAnalyzerFrame({int? maxSamples}) {
  if (_engine == ffi.nullptr) {
    return Float32List(0);
  }

  final size = maxSamples ?? getAnalyzerFrameSize();
  if (size <= 0) {
    return Float32List(0);
  }

  final ptr = _malloc(size * ffi.sizeOf<ffi.Float>()).cast<ffi.Float>();
  try {
    final copied = _pollAnalyzerFrame(_engine, ptr, size);
    if (copied <= 0) {
      return Float32List(0);
    }
    final src = ptr.asTypedList(copied);
    return Float32List.fromList(src);
  } finally {
    _freePtr(ptr.cast<ffi.Void>());
  }
}