1
0
mirror of synced 2026-05-22 14:43:19 +00:00
Files
music-metadata/lib/wav/BwfChunk.ts
T
2022-02-27 15:27:40 +01:00

41 lines
1.6 KiB
TypeScript

import { IGetToken } from 'strtok3/lib/core.js';
import * as Token from 'token-types';
export interface IBroadcastAudioExtensionChunk {
description: string;
originator: string;
originatorReference: string;
originationDate: string;
originationTime: string;
timeReferenceLow: number,
timeReferenceHigh: number,
version: number,
umid: Uint8Array,
}
/**
* Broadcast Audio Extension Chunk
* Ref: https://tech.ebu.ch/docs/tech/tech3285.pdf
*/
export const BroadcastAudioExtensionChunk: IGetToken<IBroadcastAudioExtensionChunk> = {
len: 420,
get: (uint8array, off) => {
return {
description: new Token.StringType(256, 'ascii').get(uint8array, off).trim(),
originator: new Token.StringType(32, 'ascii').get(uint8array, off + 256).trim(),
originatorReference: new Token.StringType(32, 'ascii').get(uint8array, off + 288).trim(),
originationDate: new Token.StringType(10, 'ascii').get(uint8array, off + 320).trim(),
originationTime: new Token.StringType(8, 'ascii').get(uint8array, off + 330).trim(),
timeReferenceLow: Token.UINT32_LE.get(uint8array, off + 338),
timeReferenceHigh: Token.UINT32_LE.get(uint8array, off + 342),
version: Token.UINT16_LE.get(uint8array, off + 346),
umid: new Token.Uint8ArrayType(64).get(uint8array, off + 348),
loudnessValue: Token.UINT16_LE.get(uint8array, off + 412),
maxTruePeakLevel: Token.UINT16_LE.get(uint8array, off + 414),
maxMomentaryLoudness: Token.UINT16_LE.get(uint8array, off + 416),
maxShortTermLoudness: Token.UINT16_LE.get(uint8array, off + 418)
};
}
};