asf-file-props
Version:
Extract basic metadata from ASF/WMA/WMV files
25 lines (22 loc) • 853 B
text/typescript
import { PathLike } from 'fs';
import { FileHandle } from 'fs/promises';
import { ASFFileProps } from './ASFFileProps';
import { filePropsObjectGuid, getFields } from './common.js';
export async function getASFProps(filePath: PathLike | FileHandle): Promise<ASFFileProps | null> {
if (typeof process !== 'object') {
return null;
}
const { promises: fsp } = await import('fs');
try {
const buffer = await fsp.readFile(filePath);
const filePropsObjectPos = buffer.indexOf(filePropsObjectGuid);
if (filePropsObjectPos === -1) {
console.error("ASF file header not found.");
return null;
}
return getFields(buffer, filePropsObjectPos);
} catch (error) {
console.error("Error reading ASF file:", error);
return null;
}
}