mirror of
https://github.com/androidx/media.git
synced 2025-04-30 06:46:50 +08:00
Add utility to create ScheduledExecutorService
PiperOrigin-RevId: 538129792 (cherry picked from commit 08e7158be51324752c4ae0f3b4f723b6fae7e7a8)
This commit is contained in:
parent
a5949d8806
commit
70a25b01bf
@ -117,6 +117,7 @@ import java.util.concurrent.CancellationException;
|
|||||||
import java.util.concurrent.ExecutionException;
|
import java.util.concurrent.ExecutionException;
|
||||||
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.ExecutorService;
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
|
import java.util.concurrent.ScheduledExecutorService;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
import java.util.zip.DataFormatException;
|
import java.util.zip.DataFormatException;
|
||||||
@ -742,6 +743,17 @@ public final class Util {
|
|||||||
return Executors.newSingleThreadExecutor(runnable -> new Thread(runnable, threadName));
|
return Executors.newSingleThreadExecutor(runnable -> new Thread(runnable, threadName));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Instantiates a new single threaded scheduled executor whose thread has the specified name.
|
||||||
|
*
|
||||||
|
* @param threadName The name of the thread.
|
||||||
|
* @return The executor.
|
||||||
|
*/
|
||||||
|
@UnstableApi
|
||||||
|
public static ScheduledExecutorService newSingleThreadScheduledExecutor(String threadName) {
|
||||||
|
return Executors.newSingleThreadScheduledExecutor(runnable -> new Thread(runnable, threadName));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Closes a {@link Closeable}, suppressing any {@link IOException} that may occur. Both {@link
|
* Closes a {@link Closeable}, suppressing any {@link IOException} that may occur. Both {@link
|
||||||
* java.io.OutputStream} and {@link InputStream} are {@code Closeable}.
|
* java.io.OutputStream} and {@link InputStream} are {@code Closeable}.
|
||||||
|
@ -34,7 +34,6 @@ import androidx.media3.effect.DebugTraceUtil;
|
|||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
import java.util.concurrent.Executors;
|
|
||||||
import java.util.concurrent.ScheduledExecutorService;
|
import java.util.concurrent.ScheduledExecutorService;
|
||||||
import java.util.concurrent.ScheduledFuture;
|
import java.util.concurrent.ScheduledFuture;
|
||||||
import org.checkerframework.checker.nullness.qual.EnsuresNonNull;
|
import org.checkerframework.checker.nullness.qual.EnsuresNonNull;
|
||||||
@ -48,6 +47,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
|
|||||||
*/
|
*/
|
||||||
/* package */ final class MuxerWrapper {
|
/* package */ final class MuxerWrapper {
|
||||||
|
|
||||||
|
private static final String TIMER_THREAD_NAME = "Muxer:Timer";
|
||||||
private static final String MUXER_TIMEOUT_ERROR_FORMAT_STRING =
|
private static final String MUXER_TIMEOUT_ERROR_FORMAT_STRING =
|
||||||
"Abort: no output sample written in the last %d milliseconds. DebugTrace: %s";
|
"Abort: no output sample written in the last %d milliseconds. DebugTrace: %s";
|
||||||
|
|
||||||
@ -93,7 +93,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
|
|||||||
|
|
||||||
trackTypeToInfo = new SparseArray<>();
|
trackTypeToInfo = new SparseArray<>();
|
||||||
previousTrackType = C.TRACK_TYPE_NONE;
|
previousTrackType = C.TRACK_TYPE_NONE;
|
||||||
abortScheduledExecutorService = Executors.newSingleThreadScheduledExecutor();
|
abortScheduledExecutorService = Util.newSingleThreadScheduledExecutor(TIMER_THREAD_NAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user