Less silly generics for Loader.
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=123310694
This commit is contained in:
parent
1ea149a4d2
commit
c650ab64bc
@ -65,7 +65,7 @@ public final class SingleSampleSource implements SampleSource, TrackStream,
|
||||
|
||||
private final Uri uri;
|
||||
private final DataSource dataSource;
|
||||
private final Loader<SingleSampleSource> loader;
|
||||
private final Loader loader;
|
||||
private final Format format;
|
||||
private final long durationUs;
|
||||
private final TrackGroupArray tracks;
|
||||
@ -99,7 +99,7 @@ public final class SingleSampleSource implements SampleSource, TrackStream,
|
||||
this.eventHandler = eventHandler;
|
||||
this.eventListener = eventListener;
|
||||
this.eventSourceId = eventSourceId;
|
||||
loader = new Loader<>("Loader:SingleSampleSource", minLoadableRetryCount);
|
||||
loader = new Loader("Loader:SingleSampleSource", minLoadableRetryCount);
|
||||
tracks = new TrackGroupArray(new TrackGroup(format));
|
||||
sampleData = new byte[INITIAL_SAMPLE_SIZE];
|
||||
}
|
||||
|
@ -39,7 +39,7 @@ import java.util.List;
|
||||
*/
|
||||
public class ChunkTrackStream implements TrackStream, Loader.Callback<Chunk> {
|
||||
|
||||
private final Loader<Chunk> loader;
|
||||
private final Loader loader;
|
||||
private final ChunkSource chunkSource;
|
||||
private final LinkedList<BaseMediaChunk> mediaChunks;
|
||||
private final List<BaseMediaChunk> readOnlyMediaChunks;
|
||||
@ -76,7 +76,7 @@ public class ChunkTrackStream implements TrackStream, Loader.Callback<Chunk> {
|
||||
ChunkTrackStreamEventListener eventListener, int eventSourceId, int minLoadableRetryCount) {
|
||||
this.chunkSource = chunkSource;
|
||||
this.loadControl = loadControl;
|
||||
loader = new Loader<>("Loader:ChunkTrackStream", minLoadableRetryCount);
|
||||
loader = new Loader("Loader:ChunkTrackStream", minLoadableRetryCount);
|
||||
eventDispatcher = new EventDispatcher(eventHandler, eventListener, eventSourceId);
|
||||
nextChunkHolder = new ChunkHolder();
|
||||
mediaChunks = new LinkedList<>();
|
||||
|
@ -69,7 +69,7 @@ public final class UtcTimingElementResolver implements Loader.Callback<UriLoadab
|
||||
private final long timingElementElapsedRealtime;
|
||||
private final UtcTimingCallback callback;
|
||||
|
||||
private Loader<UriLoadable<Long>> singleUseLoader;
|
||||
private Loader singleUseLoader;
|
||||
|
||||
/**
|
||||
* Resolves a {@link UtcTimingElement}.
|
||||
@ -121,7 +121,7 @@ public final class UtcTimingElementResolver implements Loader.Callback<UriLoadab
|
||||
}
|
||||
|
||||
private void resolveHttp(UriLoadable.Parser<Long> parser) {
|
||||
singleUseLoader = new Loader<>("Loader:UtcTiming", 0);
|
||||
singleUseLoader = new Loader("Loader:UtcTiming", 0);
|
||||
singleUseLoader.startLoading(
|
||||
new UriLoadable<>(Uri.parse(timingElement.value), dataSource, parser), this);
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ public final class ExtractorSampleSource implements SampleSource, ExtractorOutpu
|
||||
// Lazily initialized default extractor classes in priority order.
|
||||
private static List<Class<? extends Extractor>> defaultExtractorClasses;
|
||||
|
||||
private final Loader<Loadable> loader;
|
||||
private final Loader loader;
|
||||
private final ExtractorHolder extractorHolder;
|
||||
private final Allocator allocator;
|
||||
private final int requestedBufferSize;
|
||||
@ -233,7 +233,7 @@ public final class ExtractorSampleSource implements SampleSource, ExtractorOutpu
|
||||
// Assume on-demand until we know otherwise.
|
||||
int initialMinRetryCount = minLoadableRetryCount == MIN_RETRY_COUNT_DEFAULT_FOR_MEDIA
|
||||
? DEFAULT_MIN_LOADABLE_RETRY_COUNT_ON_DEMAND : minLoadableRetryCount;
|
||||
loader = new Loader<>("Loader:ExtractorSampleSource", initialMinRetryCount);
|
||||
loader = new Loader("Loader:ExtractorSampleSource", initialMinRetryCount);
|
||||
extractorHolder = new ExtractorHolder(extractors, this);
|
||||
pendingResetPositionUs = C.UNSET_TIME_US;
|
||||
sampleQueues = new DefaultTrackOutput[0];
|
||||
|
@ -54,7 +54,7 @@ import java.util.List;
|
||||
private static final int PRIMARY_TYPE_AUDIO = 2;
|
||||
private static final int PRIMARY_TYPE_VIDEO = 3;
|
||||
|
||||
private final Loader<Chunk> loader;
|
||||
private final Loader loader;
|
||||
private final HlsChunkSource chunkSource;
|
||||
private final SparseArray<DefaultTrackOutput> sampleQueues;
|
||||
private final LinkedList<HlsMediaChunk> mediaChunks;
|
||||
@ -101,7 +101,7 @@ import java.util.List;
|
||||
this.chunkSource = chunkSource;
|
||||
this.loadControl = loadControl;
|
||||
this.bufferSizeContribution = bufferSizeContribution;
|
||||
loader = new Loader<>("Loader:HLS", minLoadableRetryCount);
|
||||
loader = new Loader("Loader:HlsTrackStreamWrapper", minLoadableRetryCount);
|
||||
eventDispatcher = new EventDispatcher(eventHandler, eventListener, eventSourceId);
|
||||
nextChunkHolder = new ChunkHolder();
|
||||
sampleQueues = new SparseArray<>();
|
||||
|
@ -32,7 +32,7 @@ import java.util.concurrent.ExecutorService;
|
||||
/**
|
||||
* Manages the background loading of {@link Loadable}s.
|
||||
*/
|
||||
public final class Loader<T extends Loader.Loadable> {
|
||||
public final class Loader {
|
||||
|
||||
/**
|
||||
* Thrown when an unexpected exception is encountered during loading.
|
||||
@ -121,7 +121,7 @@ public final class Loader<T extends Loader.Loadable> {
|
||||
private final ExecutorService downloadExecutorService;
|
||||
|
||||
private int minRetryCount;
|
||||
private LoadTask currentTask;
|
||||
private LoadTask<? extends Loadable> currentTask;
|
||||
private IOException fatalError;
|
||||
|
||||
/**
|
||||
@ -143,10 +143,10 @@ public final class Loader<T extends Loader.Loadable> {
|
||||
* @param callback A callback to invoke when the load ends.
|
||||
* @throws IllegalStateException If the calling thread does not have an associated {@link Looper}.
|
||||
*/
|
||||
public void startLoading(T loadable, Callback<T> callback) {
|
||||
public <T extends Loadable> void startLoading(T loadable, Callback<T> callback) {
|
||||
Looper looper = Looper.myLooper();
|
||||
Assertions.checkState(looper != null);
|
||||
new LoadTask(looper, loadable, callback).start(0);
|
||||
new LoadTask<>(looper, loadable, callback).start(0);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -204,7 +204,7 @@ public final class Loader<T extends Loader.Loadable> {
|
||||
}
|
||||
|
||||
@SuppressLint("HandlerLeak")
|
||||
private final class LoadTask extends Handler implements Runnable {
|
||||
private final class LoadTask<T extends Loadable> extends Handler implements Runnable {
|
||||
|
||||
private static final String TAG = "LoadTask";
|
||||
|
||||
|
@ -68,7 +68,7 @@ public class ManifestFetcher<T> implements Loader.Callback<UriLoadable<T>> {
|
||||
|
||||
}
|
||||
|
||||
private final Loader<UriLoadable<T>> loader;
|
||||
private final Loader loader;
|
||||
private final UriLoadable.Parser<T> parser;
|
||||
private final DataSource dataSource;
|
||||
private final Handler eventHandler;
|
||||
@ -106,7 +106,7 @@ public class ManifestFetcher<T> implements Loader.Callback<UriLoadable<T>> {
|
||||
this.dataSource = dataSource;
|
||||
this.eventHandler = eventHandler;
|
||||
this.eventListener = eventListener;
|
||||
loader = new Loader<>("Loader:ManifestFetcher", 1);
|
||||
loader = new Loader("Loader:ManifestFetcher", 1);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user