dispose method
void
dispose()
Release resources
Implementation
void dispose() async {
if (_pp == nullptr) {
textureId.dispose();
return;
}
// await: ensure no player ref in fvp plugin before mdkPlayerAPI_delete() in dart
await updateTexture(width: -1);
state = PlaybackState.stopped;
Libfvp.unregisterPort(nativeHandle);
_eventCb.close();
Libfvp.unregisterType(nativeHandle, 0);
_stateCb.close();
Libfvp.unregisterType(nativeHandle, 1);
_statusCb.close();
Libfvp.unregisterType(nativeHandle, 2);
_receivePort.close();
Libmdk.instance.mdkPlayerAPI_delete(_pp);
calloc.free(_pp);
_pp = nullptr;
textureId.dispose();
}