interface SegmentStorage { initialize( coreConfig: CommonCoreConfig, mainStreamConfig: StreamConfig, secondaryStreamConfig: StreamConfig, ): Promise<void>; onPlaybackUpdated(position: number, rate: number): void; onSegmentRequested( swarmId: string, streamId: string, segmentId: number, startTime: number, endTime: number, streamType: StreamType, isLiveStream: boolean, ): void; storeSegment( swarmId: string, streamId: string, segmentId: number, data: ArrayBuffer, startTime: number, endTime: number, streamType: StreamType, isLiveStream: boolean, ): Promise<void>; getSegmentData( swarmId: string, streamId: string, segmentId: number, ): Promise<undefined | ArrayBuffer>; getUsage(): { totalCapacity: number; usedCapacity: number }; hasSegment(swarmId: string, streamId: string, segmentId: number): boolean; getStoredSegmentIds(swarmId: string, streamId: string): number[]; setSegmentChangeCallback(callback: (streamId: string) => void): void; destroy(): void;} Methods
onPlaybackUpdated
- onPlaybackUpdated(position: number, rate: number): void
Parameters
- position: number
- rate: number
Returns void
onSegmentRequested
- onSegmentRequested(
swarmId: string,
streamId: string,
segmentId: number,
startTime: number,
endTime: number,
streamType: StreamType,
isLiveStream: boolean,
): void Parameters
- swarmId: string
- streamId: string
- segmentId: number
- startTime: number
- endTime: number
- streamType: StreamType
- isLiveStream: boolean
Returns void
storeSegment
- storeSegment(
swarmId: string,
streamId: string,
segmentId: number,
data: ArrayBuffer,
startTime: number,
endTime: number,
streamType: StreamType,
isLiveStream: boolean,
): Promise<void> Parameters
- swarmId: string
- streamId: string
- segmentId: number
- data: ArrayBuffer
- startTime: number
- endTime: number
- streamType: StreamType
- isLiveStream: boolean
Returns Promise<void>
getSegmentData
- getSegmentData(
swarmId: string,
streamId: string,
segmentId: number,
): Promise<undefined | ArrayBuffer> Parameters
- swarmId: string
- streamId: string
- segmentId: number
Returns Promise<undefined | ArrayBuffer>
getUsage
- getUsage(): { totalCapacity: number; usedCapacity: number }
Returns { totalCapacity: number; usedCapacity: number }
hasSegment
- hasSegment(swarmId: string, streamId: string, segmentId: number): boolean
Parameters
- swarmId: string
- streamId: string
- segmentId: number
Returns boolean
getStoredSegmentIds
- getStoredSegmentIds(swarmId: string, streamId: string): number[]
Parameters
- swarmId: string
- streamId: string
Returns number[]
setSegmentChangeCallback
- setSegmentChangeCallback(callback: (streamId: string) => void): void
Parameters
- callback: (streamId: string) => void
Returns void
destroy
- destroy(): void
Returns void
Segments storage interface