/** * Copyright 2015 CANAL+ Group * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * @param {Number} width * @param {Number} height * @param {Number} hRes - horizontal resolution, eg 72 * @param {Number} vRes - vertical resolution, eg 72 * @param {string} encName * @param {Number} colorDepth - eg 24 * @param {Uint8Array} avcc - Uint8Array representing the avcC atom * @returns {Uint8Array} */ declare function createAVC1Box(width: number, height: number, hRes: number, vRes: number, encName: string, colorDepth: number, avcc: Uint8Array): Uint8Array; /** * @param {Number} width * @param {Number} height * @param {Number} hRes - horizontal resolution, eg 72 * @param {Number} vRes - vertical resolution, eg 72 * @param {string} encName * @param {Number} colorDepth - eg 24 * @param {Uint8Array} avcc - Uint8Array representing the avcC atom * @param {Uint8Array} sinf - Uint8Array representing the sinf atom * @returns {Uint8Array} */ declare function createENCVBox(width: number, height: number, hRes: number, vRes: number, encName: string, colorDepth: number, avcc: Uint8Array, sinf: Uint8Array): Uint8Array; /** * @param {Number} drefIdx * @param {Number} channelsCount * @param {Number} sampleSize * @param {Number} packetSize * @param {Number} sampleRate * @param {Uint8Array} esds - Uint8Array representing the esds atom * @returns {Uint8Array} */ declare function createMP4ABox(drefIdx: number, channelsCount: number, sampleSize: number, packetSize: number, sampleRate: number, esds: Uint8Array): Uint8Array; /** * @param {Number} drefIdx * @param {Number} channelsCount * @param {Number} sampleSize * @param {Number} packetSize * @param {Number} sampleRate * @param {Uint8Array} esds - Uint8Array representing the esds atom * @param {Uint8Array} [sinf] - Uint8Array representing the sinf atom, * only if name == "enca" * @returns {Uint8Array} */ declare function createENCABox(drefIdx: number, channelsCount: number, sampleSize: number, packetSize: number, sampleRate: number, esds: Uint8Array, sinf: Uint8Array): Uint8Array; /** * @param {Uint8Array} url * @returns {Uint8Array} */ declare function createDREFBox(url: Uint8Array): Uint8Array; /** * @param {string} majorBrand * @param {Array.} brands * @returns {Uint8Array} */ declare function createFTYPBox(majorBrand: string, brands: string[]): Uint8Array; /** * @param {string} schemeType - four letters (eg "cenc" for Common Encryption) * @param {Number} schemeVersion - eg 65536 * @returns {Uint8Array} */ declare function createSCHMBox(schemeType: string, schemeVersion: number): Uint8Array; /** * Create tfdt box from a decoding time. * @param {number} decodeTime * @returns {Uint8Array} */ declare function createTfdtBox(decodeTime: number): Uint8Array; /** * @returns {Uint8Array} */ declare function createVMHDBox(): Uint8Array; /** * @param {Number} trackId * @returns {Uint8Array} */ declare function createTREXBox(trackId: number): Uint8Array; /** * @param {Number} length * @returns {Uint8Array} */ declare function createFreeBox(length: number): Uint8Array; /** * @param {Number} stream * @param {string} codecPrivateData - hex string * @returns {Uint8Array} */ declare function createESDSBox(stream: number, codecPrivateData: string): Uint8Array; /** * @param {string} dataFormat - four letters (eg "avc1") * @returns {Uint8Array} */ declare function createFRMABox(dataFormat: string): Uint8Array; /** * @param {Uint8Array} sps * @param {Uint8Array} pps * @param {Number} nalLen - NAL Unit length: 1, 2 or 4 bytes * eg: avcc(0x4d, 0x40, 0x0d, 4, 0xe1, "674d400d96560c0efcb80a70505050a0", * 1, "68ef3880") * @returns {Uint8Array} */ declare function createAVCCBox(sps: Uint8Array, pps: Uint8Array, nalLen: number): Uint8Array; /** * @param {string} type - "video"/"audio"/"hint" * @returns {Uint8Array} */ declare function createHDLRBox(type: "audio" | "video" | "hint"): Uint8Array; /** * @param {number} timescale * @returns {Uint8Array} */ declare function createMDHDBox(timescale: number): Uint8Array; /** * @param {Number} timescale * @param {Number} trackId * @returns {Uint8Array} */ declare function createMVHDBox(timescale: number, trackId: number): Uint8Array; /** * @param {Uint8Array} mfhd * @param {Uint8Array} tfhd * @param {Uint8Array} tfdt * @param {Uint8Array} trun * @returns {Uint8Array} */ declare function createSAIOBox(mfhd: Uint8Array, tfhd: Uint8Array, tfdt: Uint8Array, trun: Uint8Array): Uint8Array; /** * @param {Uint8Array} sencContent - including 8 bytes flags and entries count * @returns {Uint8Array} */ declare function createSAIZBox(sencContent: Uint8Array): Uint8Array; /** * @returns {Uint8Array} */ declare function createSMHDBox(): Uint8Array; /** * @param {Array.} reps - arrays of Uint8Array, * typically [avc1] or [encv, avc1] * @returns {Uint8Array} */ declare function createSTSDBox(reps: Uint8Array[]): Uint8Array; /** * @param {Number} width * @param {Number} height * @param {Number} trackId * @returns {Uint8Array} */ declare function createTKHDBox(width: number, height: number, trackId: number): Uint8Array; /** * @param {Number} algId - eg 1 * @param {Number} ivSize - eg 8 * @param {string} keyId - Hex KID 93789920e8d6520098577df8f2dd5546 * @returns {Uint8Array} */ declare function createTENCBox(algId: number, ivSize: number, keyId: Uint8Array): Uint8Array; export { createAVC1Box, createAVCCBox, createDREFBox, createENCABox, createENCVBox, createESDSBox, createFRMABox, createFTYPBox, createFreeBox, createHDLRBox, createMDHDBox, createMP4ABox, createMVHDBox, createSAIOBox, createSAIZBox, createSCHMBox, createSMHDBox, createSTSDBox, createTENCBox, createTKHDBox, createTREXBox, createTfdtBox, createVMHDBox, };