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
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());
}
}
}

@ -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());
}
}

Loading…
Cancel
Save