prepare method
Load the media from position
in milliseconds and decode the first frame, then state will be PlaybackState.paused.
If error occurs, will be PlaybackState.stopped.
Return the result position, or a negative value if failed.
https://github.com/wang-bin/mdk-sdk/wiki/Player-APIs#void-prepareint64_t-startposition--0-functionboolint64_t-position-bool-boost-cb--nullptr-seekflag-flags--seekflagfromstart
Return 0: if mediaInfo.streams == 0, invalid media. otherwise success -1: already loading or loaded -4: requested position out of range -10: internal error
Implementation
Future<int> prepare({
int position = 0,
SeekFlag flags = const SeekFlag(SeekFlag.defaultFlags),
Future<bool> Function()? callback,
bool reply = false,
}) async {
_prepared = Completer<int>();
Libfvp.registerType(nativeHandle, 3, reply);
_prepareCb = callback;
if (!Libfvp.prepare(
nativeHandle,
position,
flags.rawValue,
NativeApi.postCObject.cast(),
_receivePort.sendPort.nativePort,
)) {
_prepared.complete(-10);
}
return _prepared.future;
}