createFFmpegSession static method

Future<FFmpegSession> createFFmpegSession(
  1. List<String> argumentsArray, [
  2. LogRedirectionStrategy? logRedirectionStrategy = null
])

Creates a new FFmpeg session using argumentsArray and logRedirectionStrategy.

Returns FFmpeg session created.

Implementation

static Future<FFmpegSession> createFFmpegSession(
  List<String> argumentsArray, [
  LogRedirectionStrategy? logRedirectionStrategy = null,
]) async {
  try {
    await FFmpegKitConfig.init();
    final Map<dynamic, dynamic>? nativeSession =
        await _platform.abstractSessionCreateFFmpegSession(argumentsArray);

    final session = new FFmpegSession();

    session._sessionId = nativeSession?["sessionId"];
    session._createTime = FFmpegKitFactory.validDate(
      nativeSession?["createTime"],
    );
    session._startTime = FFmpegKitFactory.validDate(
      nativeSession?["startTime"],
    );
    session._command = nativeSession?["command"];
    session._argumentsArray = argumentsArray;
    session._logRedirectionStrategy =
        logRedirectionStrategy ?? FFmpegKitConfig.getLogRedirectionStrategy();

    FFmpegKitFactory.setLogRedirectionStrategy(
      session._sessionId,
      logRedirectionStrategy,
    );

    return session;
  } on PlatformException catch (e, stack) {
    print("Plugin createFFmpegSession error: ${e.message}");
    return Future.error("createFFmpegSession failed.", stack);
  }
}