robust2Extract method
Implementation
Uint8List? robust2Extract(Uint8List jpegBytes) {
final jpegPtr = calloc<ffi.Uint8>(jpegBytes.length);
final outPayloadPtr = calloc<ffi.Pointer<ffi.Uint8>>();
final outLenPtr = calloc<ffi.Int32>();
try {
jpegPtr.asTypedList(jpegBytes.length).setAll(0, jpegBytes);
final rc = _robust2Extract(
jpegPtr,
jpegBytes.length,
outPayloadPtr,
outLenPtr,
);
if (rc != 0) return null;
final payloadPtr = outPayloadPtr.value;
if (payloadPtr == ffi.nullptr) return null;
try {
return Uint8List.fromList(payloadPtr.asTypedList(outLenPtr.value));
} finally {
_robust2Free(payloadPtr.cast<ffi.Void>());
}
} finally {
calloc.free(jpegPtr);
calloc.free(outPayloadPtr);
calloc.free(outLenPtr);
}
}