import ReadOnlySubject from '../../../rx/ReadOnlySubject'; import { TrackWriterStatisticsType } from './TrackWriterStatistics'; import { TrackWriterWriteStatus } from './TrackWriterWriteStatus'; export default class TrackWriter { private static readonly _ftypByteCode; private static readonly _stypByteCode; private static readonly _moofByteCode; private static readonly _isoBmffMajorBrand; private readonly _mediaSource; private readonly _sourceBuffer; private readonly _mimeType; private readonly _bufferedStart; private readonly _bufferedEnd; private readonly _statistics; private readonly _readOnlyBufferedStart; private readonly _readOnlyBufferedEnd; private readonly _readOnlyStatistics; private readonly _segmentsWithWriteStatusPromise; private readonly _lowWaterMarkInSeconds; private readonly _highWaterMarkInSeconds; private _isUpdatingSourceBuffer; constructor(mediaSource: MediaSource, sourceBuffer: SourceBuffer, mimeType: string); get statistics(): ReadOnlySubject; get bufferedStart(): ReadOnlySubject; get bufferedEnd(): ReadOnlySubject; write(segment: Uint8Array): Promise; dispose(): void; private writeIsoBmff; private isIsoBmffSegment; private updateReceivedStatistics; private updateWrittenStatistics; private appendPendingWritesAndTrimBufferIfAble; private updateBufferedTimeRangeValues; private appendIsoBmffInitializationSegment; private appendIsoBmffMediaSegment; private getSourceBufferBufferedStartInSeconds; private getSourceBufferBufferedEndInSeconds; private trimBuffer; private resolveAllPendingWritePromises; private isSourceBufferAttached; private cleanUpResource; }