29 lines
970 B
TypeScript
29 lines
970 B
TypeScript
|
/// <reference types="node" />
|
||
|
import { ITokenizer } from 'strtok3/lib/core';
|
||
|
import { IOptions } from '../../type';
|
||
|
import { INativeMetadataCollector } from '../../common/MetadataCollector';
|
||
|
import * as Ogg from '../Ogg';
|
||
|
/**
|
||
|
* Ref:
|
||
|
* - https://theora.org/doc/Theora.pdf
|
||
|
*/
|
||
|
export declare class TheoraParser implements Ogg.IPageConsumer {
|
||
|
private metadata;
|
||
|
private tokenizer;
|
||
|
constructor(metadata: INativeMetadataCollector, options: IOptions, tokenizer: ITokenizer);
|
||
|
/**
|
||
|
* Vorbis 1 parser
|
||
|
* @param header Ogg Page Header
|
||
|
* @param pageData Page data
|
||
|
*/
|
||
|
parsePage(header: Ogg.IPageHeader, pageData: Buffer): void;
|
||
|
flush(): void;
|
||
|
calculateDuration(header: Ogg.IPageHeader): void;
|
||
|
/**
|
||
|
* Parse first Theora Ogg page. the initial identification header packet
|
||
|
* @param {IPageHeader} header
|
||
|
* @param {Buffer} pageData
|
||
|
*/
|
||
|
protected parseFirstPage(header: Ogg.IPageHeader, pageData: Buffer): void;
|
||
|
}
|