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