release method
Release native player. Release memory and resource
Implementation
Future<void> release() async {
await _nativeSetup.future;
_callId += 1;
int cid = _callId;
FijkLog.i("$this invoke release #$cid");
if (isPlayable()) await stop();
_setValue(value.copyWith(state: FijkState.end));
await _nativeEventSubscription?.cancel();
_nativeEventSubscription = null;
_allInstance.remove(_playerId);
await FijkPlugin._releasePlayer(_playerId).then((_) {
FijkLog.i("$this invoke release #$cid -> done");
});
}