Prevents invoking future executor task if already cancelled. Fixes issue #33

pull/308/head
Sagar Shah 3 years ago
parent 46afc3f34a
commit 7c6bb44155
  1. 22
      android/ffmpeg-kit-android-lib/src/main/java/com/arthenica/ffmpegkit/AsyncFFmpegExecuteTask.java
  2. 22
      android/ffmpeg-kit-android-lib/src/main/java/com/arthenica/ffmpegkit/AsyncFFprobeExecuteTask.java

@ -33,15 +33,23 @@ public class AsyncFFmpegExecuteTask implements Runnable {
@Override @Override
public void run() { public void run() {
FFmpegKitConfig.ffmpegExecute(ffmpegSession); try {
if (Thread.currentThread().isInterrupted()) {
return;
} else {
FFmpegKitConfig.ffmpegExecute(ffmpegSession);
final ExecuteCallback globalExecuteCallbackFunction = FFmpegKitConfig.getExecuteCallback(); final ExecuteCallback globalExecuteCallbackFunction = FFmpegKitConfig.getExecuteCallback();
if (globalExecuteCallbackFunction != null) { if (globalExecuteCallbackFunction != null) {
globalExecuteCallbackFunction.apply(ffmpegSession); globalExecuteCallbackFunction.apply(ffmpegSession);
} }
if (executeCallback != null) { if (executeCallback != null) {
executeCallback.apply(ffmpegSession); executeCallback.apply(ffmpegSession);
}
}
} catch (Exception ex) {
Log.e("TAG", "Exception while executing ffmpeg task" + ex.toString());
} }
} }
} }

@ -33,15 +33,23 @@ public class AsyncFFprobeExecuteTask implements Runnable {
@Override @Override
public void run() { public void run() {
FFmpegKitConfig.ffprobeExecute(ffprobeSession); try {
if (Thread.currentThread().isInterrupted()) {
return;
} else {
FFmpegKitConfig.ffprobeExecute(ffprobeSession);
final ExecuteCallback globalExecuteCallbackFunction = FFmpegKitConfig.getExecuteCallback(); final ExecuteCallback globalExecuteCallbackFunction = FFmpegKitConfig.getExecuteCallback();
if (globalExecuteCallbackFunction != null) { if (globalExecuteCallbackFunction != null) {
globalExecuteCallbackFunction.apply(ffprobeSession); globalExecuteCallbackFunction.apply(ffprobeSession);
} }
if (executeCallback != null) { if (executeCallback != null) {
executeCallback.apply(ffprobeSession); executeCallback.apply(ffprobeSession);
}
}
} catch (Exception ex) {
Log.e("TAG", "Exception while probing ffmpeg task" + ex.toString());
} }
} }

Loading…
Cancel
Save