mirror of
https://github.com/samsonjs/media.git
synced 2026-04-27 15:07:40 +00:00
Effect: Remove extra wait on taskExecutor release()
This future.get() duplicates the wait done in singleThreadExecutorService.awaitTermination(). If awaitTermination times out, this future.get() would also result in unnecessary blocking. PiperOrigin-RevId: 536442153
This commit is contained in:
parent
06908e1a86
commit
1c172e0bed
1 changed files with 5 additions and 9 deletions
|
|
@ -24,7 +24,6 @@ import androidx.media3.common.VideoFrameProcessor;
|
||||||
import androidx.media3.common.util.UnstableApi;
|
import androidx.media3.common.util.UnstableApi;
|
||||||
import java.util.ArrayDeque;
|
import java.util.ArrayDeque;
|
||||||
import java.util.concurrent.CountDownLatch;
|
import java.util.concurrent.CountDownLatch;
|
||||||
import java.util.concurrent.ExecutionException;
|
|
||||||
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.ExecutorService;
|
||||||
import java.util.concurrent.Future;
|
import java.util.concurrent.Future;
|
||||||
import java.util.concurrent.RejectedExecutionException;
|
import java.util.concurrent.RejectedExecutionException;
|
||||||
|
|
@ -150,16 +149,13 @@ import java.util.concurrent.RejectedExecutionException;
|
||||||
shouldCancelTasks = true;
|
shouldCancelTasks = true;
|
||||||
highPriorityTasks.clear();
|
highPriorityTasks.clear();
|
||||||
}
|
}
|
||||||
Future<?> releaseFuture =
|
Future<?> unused =
|
||||||
wrapTaskAndSubmitToExecutorService(releaseTask, /* isFlushOrReleaseTask= */ true);
|
wrapTaskAndSubmitToExecutorService(releaseTask, /* isFlushOrReleaseTask= */ true);
|
||||||
singleThreadExecutorService.shutdown();
|
singleThreadExecutorService.shutdown();
|
||||||
try {
|
if (!singleThreadExecutorService.awaitTermination(releaseWaitTimeMs, MILLISECONDS)) {
|
||||||
if (!singleThreadExecutorService.awaitTermination(releaseWaitTimeMs, MILLISECONDS)) {
|
listener.onError(
|
||||||
listener.onError(new VideoFrameProcessingException("Release timed out"));
|
new VideoFrameProcessingException(
|
||||||
}
|
"Release timed out. OpenGL resources may not be cleaned up properly."));
|
||||||
releaseFuture.get();
|
|
||||||
} catch (ExecutionException e) {
|
|
||||||
listener.onError(new VideoFrameProcessingException(e));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue