Add .gitignore to exclude all node packages and lock files
This commit is contained in:
Generated
Vendored
+28
@@ -0,0 +1,28 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.seekBackwards = void 0;
|
||||
const log_1 = require("./log");
|
||||
const seekBackwards = async ({ iterator, seekTo, readerInterface, src, controller, logLevel, currentReader, prefetchCache, }) => {
|
||||
// (a) data has not been discarded yet
|
||||
const howManyBytesWeCanGoBack = iterator.counter.getDiscardedOffset();
|
||||
if (iterator.counter.getOffset() - howManyBytesWeCanGoBack <= seekTo) {
|
||||
log_1.Log.verbose(logLevel, `Seeking back to ${seekTo}`);
|
||||
iterator.skipTo(seekTo);
|
||||
return;
|
||||
}
|
||||
// (b) data has been discarded, making new reader
|
||||
const time = Date.now();
|
||||
log_1.Log.verbose(logLevel, `Seeking in video from position ${iterator.counter.getOffset()} -> ${seekTo}. Re-reading because this portion is not available.`);
|
||||
await currentReader.getCurrent().abort();
|
||||
const { reader: newReader } = await readerInterface.read({
|
||||
src,
|
||||
range: seekTo,
|
||||
controller,
|
||||
logLevel,
|
||||
prefetchCache,
|
||||
});
|
||||
iterator.replaceData(new Uint8Array([]), seekTo);
|
||||
log_1.Log.verbose(logLevel, `Re-reading took ${Date.now() - time}ms. New position: ${iterator.counter.getOffset()}`);
|
||||
currentReader.setCurrent(newReader);
|
||||
};
|
||||
exports.seekBackwards = seekBackwards;
|
||||
Reference in New Issue
Block a user