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
Segments storage interface