mirror of
https://github.com/samsonjs/media.git
synced 2026-04-27 15:07:40 +00:00
Cache ChunkIndex once load is done
This commit is contained in:
parent
1c1fd4d8b8
commit
4a6c5c7598
1 changed files with 7 additions and 1 deletions
|
|
@ -39,6 +39,7 @@ public final class InitializationChunk extends Chunk {
|
||||||
private final ChunkExtractor chunkExtractor;
|
private final ChunkExtractor chunkExtractor;
|
||||||
|
|
||||||
private @MonotonicNonNull TrackOutputProvider trackOutputProvider;
|
private @MonotonicNonNull TrackOutputProvider trackOutputProvider;
|
||||||
|
private @Nullable ChunkIndex chunkIndex;
|
||||||
private long nextLoadPosition;
|
private long nextLoadPosition;
|
||||||
private volatile boolean loadCanceled;
|
private volatile boolean loadCanceled;
|
||||||
|
|
||||||
|
|
@ -105,14 +106,19 @@ public final class InitializationChunk extends Chunk {
|
||||||
while (!loadCanceled && chunkExtractor.read(input)) {}
|
while (!loadCanceled && chunkExtractor.read(input)) {}
|
||||||
} finally {
|
} finally {
|
||||||
nextLoadPosition = input.getPosition() - dataSpec.position;
|
nextLoadPosition = input.getPosition() - dataSpec.position;
|
||||||
|
chunkIndex = chunkExtractor.getChunkIndex();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
DataSourceUtil.closeQuietly(dataSource);
|
DataSourceUtil.closeQuietly(dataSource);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the {@link ChunkIndex} most recently obtained from the latest {@link #load()}, or null
|
||||||
|
* if a {@link ChunkIndex} has not been obtained.
|
||||||
|
*/
|
||||||
@Nullable
|
@Nullable
|
||||||
public ChunkIndex getChunkIndex() {
|
public ChunkIndex getChunkIndex() {
|
||||||
return chunkExtractor.getChunkIndex();
|
return chunkIndex;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue