From 64d380290a7c52bac4e05cc1072ebbec377816ed Mon Sep 17 00:00:00 2001 From: Taner Sener Date: Wed, 15 Sep 2021 16:46:17 +0100 Subject: [PATCH] implement clearSessions methods on FFmpegKitConfig --- .../java/com/arthenica/ffmpegkit/FFmpegKitConfig.java | 10 ++++++++++ apple/src/FFmpegKitConfig.h | 6 ++++++ apple/src/FFmpegKitConfig.m | 8 ++++++++ 3 files changed, 24 insertions(+) diff --git a/android/ffmpeg-kit-android-lib/src/main/java/com/arthenica/ffmpegkit/FFmpegKitConfig.java b/android/ffmpeg-kit-android-lib/src/main/java/com/arthenica/ffmpegkit/FFmpegKitConfig.java index 25fa6e8..8ec348d 100644 --- a/android/ffmpeg-kit-android-lib/src/main/java/com/arthenica/ffmpegkit/FFmpegKitConfig.java +++ b/android/ffmpeg-kit-android-lib/src/main/java/com/arthenica/ffmpegkit/FFmpegKitConfig.java @@ -1020,6 +1020,16 @@ public class FFmpegKitConfig { } } + /** + *

Clears all, including ongoing, sessions in the session history. + *

Note that callbacks cannot be triggered for deleted sessions. + */ + public static void clearSessions() { + synchronized (sessionHistoryLock) { + sessionHistoryList.clear(); + } + } + /** *

Returns all FFmpeg sessions in the session history. * diff --git a/apple/src/FFmpegKitConfig.h b/apple/src/FFmpegKitConfig.h index ebe1a72..a7f9a69 100644 --- a/apple/src/FFmpegKitConfig.h +++ b/apple/src/FFmpegKitConfig.h @@ -329,6 +329,12 @@ typedef NS_ENUM(NSUInteger, Signal) { */ + (NSArray*)getSessions; +/** + *

Clears all, including ongoing, sessions in the session history. + *

Note that callbacks cannot be triggered for deleted sessions. + */ ++ (void)clearSessions; + /** *

Returns all FFmpeg sessions in the session history. * diff --git a/apple/src/FFmpegKitConfig.m b/apple/src/FFmpegKitConfig.m index f808225..a1f693f 100644 --- a/apple/src/FFmpegKitConfig.m +++ b/apple/src/FFmpegKitConfig.m @@ -1072,6 +1072,14 @@ int executeFFprobe(long sessionId, NSArray* arguments) { return sessionsCopy; } ++ (void)clearSessions { + [sessionHistoryLock lock]; + + [sessionHistoryList removeAllObjects]; + + [sessionHistoryLock unlock]; +} + + (NSArray*)getFFmpegSessions { NSMutableArray* ffmpegSessions = [[NSMutableArray alloc] init];