From c3d1bff355702cb85bf0a04167c02533447c4ba6 Mon Sep 17 00:00:00 2001 From: Taner Sener Date: Fri, 20 May 2022 23:18:00 +0100 Subject: [PATCH] implement AbstractSession.cancel method on flutter --- flutter/flutter/lib/abstract_session.dart | 15 ++++++++++++++- flutter/flutter/lib/session.dart | 2 +- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/flutter/flutter/lib/abstract_session.dart b/flutter/flutter/lib/abstract_session.dart index 4667569..36d717d 100644 --- a/flutter/flutter/lib/abstract_session.dart +++ b/flutter/flutter/lib/abstract_session.dart @@ -428,5 +428,18 @@ class AbstractSession extends Session { bool isMediaInformation() => false; /// Cancels running the session. - void cancel() {} + Future cancel() async { + try { + final int? sessionId = getSessionId(); + await FFmpegKitConfig.init(); + if (sessionId == null) { + return _platform.ffmpegKitCancel(); + } else { + return _platform.ffmpegKitCancelSession(sessionId); + } + } on PlatformException catch (e, stack) { + print("Plugin cancel error: ${e.message}"); + return Future.error("cancel failed.", stack); + } + } } diff --git a/flutter/flutter/lib/session.dart b/flutter/flutter/lib/session.dart index 7fe16ae..a4796d8 100644 --- a/flutter/flutter/lib/session.dart +++ b/flutter/flutter/lib/session.dart @@ -106,5 +106,5 @@ abstract class Session { bool isMediaInformation(); /// Cancels running the session. - void cancel(); + Future cancel(); }