diff --git a/android/ffmpeg-kit-android-lib/src/main/java/com/arthenica/ffmpegkit/AsyncFFmpegExecuteTask.java b/android/ffmpeg-kit-android-lib/src/main/java/com/arthenica/ffmpegkit/AsyncFFmpegExecuteTask.java index f1f0cce..7bd35f3 100644 --- a/android/ffmpeg-kit-android-lib/src/main/java/com/arthenica/ffmpegkit/AsyncFFmpegExecuteTask.java +++ b/android/ffmpeg-kit-android-lib/src/main/java/com/arthenica/ffmpegkit/AsyncFFmpegExecuteTask.java @@ -33,15 +33,23 @@ public class AsyncFFmpegExecuteTask implements Runnable { @Override public void run() { - FFmpegKitConfig.ffmpegExecute(ffmpegSession); + try { + if (Thread.currentThread().isInterrupted()) { + return; + } else { + FFmpegKitConfig.ffmpegExecute(ffmpegSession); - final ExecuteCallback globalExecuteCallbackFunction = FFmpegKitConfig.getExecuteCallback(); - if (globalExecuteCallbackFunction != null) { - globalExecuteCallbackFunction.apply(ffmpegSession); - } + final ExecuteCallback globalExecuteCallbackFunction = FFmpegKitConfig.getExecuteCallback(); + if (globalExecuteCallbackFunction != null) { + globalExecuteCallbackFunction.apply(ffmpegSession); + } - if (executeCallback != null) { - executeCallback.apply(ffmpegSession); + if (executeCallback != null) { + executeCallback.apply(ffmpegSession); + } + } + } catch (Exception ex) { + Log.e("TAG", "Exception while executing ffmpeg task" + ex.toString()); } } } diff --git a/android/ffmpeg-kit-android-lib/src/main/java/com/arthenica/ffmpegkit/AsyncFFprobeExecuteTask.java b/android/ffmpeg-kit-android-lib/src/main/java/com/arthenica/ffmpegkit/AsyncFFprobeExecuteTask.java index dafb86d..479724e 100644 --- a/android/ffmpeg-kit-android-lib/src/main/java/com/arthenica/ffmpegkit/AsyncFFprobeExecuteTask.java +++ b/android/ffmpeg-kit-android-lib/src/main/java/com/arthenica/ffmpegkit/AsyncFFprobeExecuteTask.java @@ -33,15 +33,23 @@ public class AsyncFFprobeExecuteTask implements Runnable { @Override public void run() { - FFmpegKitConfig.ffprobeExecute(ffprobeSession); + try { + if (Thread.currentThread().isInterrupted()) { + return; + } else { + FFmpegKitConfig.ffprobeExecute(ffprobeSession); - final ExecuteCallback globalExecuteCallbackFunction = FFmpegKitConfig.getExecuteCallback(); - if (globalExecuteCallbackFunction != null) { - globalExecuteCallbackFunction.apply(ffprobeSession); - } + final ExecuteCallback globalExecuteCallbackFunction = FFmpegKitConfig.getExecuteCallback(); + if (globalExecuteCallbackFunction != null) { + globalExecuteCallbackFunction.apply(ffprobeSession); + } - if (executeCallback != null) { - executeCallback.apply(ffprobeSession); + if (executeCallback != null) { + executeCallback.apply(ffprobeSession); + } + } + } catch (Exception ex) { + Log.e("TAG", "Exception while probing ffmpeg task" + ex.toString()); } }