Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
static index(name) {
let fileName = path.join(config.mediaPath, name);
let indexName = Indexer.getIndexName(name);
let tmpName = Indexer.getTempName(name);
let file = null;
let index = null;
try {
file = fs.openSync(fileName, 'r');
index = fs.openSync(tmpName, 'w');
let movie = VideoLib.MovieParser.parse(file);
let fragmentList = VideoLib.FragmentListBuilder.build(movie, config.fragmentDuration);
VideoLib.FragmentListIndexer.index(fragmentList, index);
} finally {
if (file !== null) {
fs.closeSync(file);
}
if (index !== null) {
fs.closeSync(index);
}
}
if (fs.existsSync(tmpName)) {
try {
Indexer.makeDirs(path.dirname(indexName));
fs.renameSync(tmpName, indexName);
} catch (ex) {
fs.unlinkSync(tmpName);
throw ex;
fs.openAsync(indexName, 'r').then((fd) => {
req.index = fd;
req.fragmentList = VideoLib.FragmentListIndexer.read(req.index);
}).catch((err) => {
let promise = Promise.resolve();