P2P Media Loader Documentation
    Preparing search index...

    Interface SegmentStorage

    Segments storage interface

    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<ArrayBuffer | undefined>;
        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;
    }
    Index

    Methods

    • Provides playback position from player

      Parameters

      • position: number

        Playback position

      • rate: number

        Playback rate

      Returns void

    • Provides segment request information from player

      Parameters

      • swarmId: string

        Swarm identifier

      • streamId: string

        Stream identifier

      • segmentId: number

        Segment identifier

      • startTime: number

        Segment start time

      • endTime: number

        Segment end time

      • streamType: StreamType

        Stream type

      • isLiveStream: boolean

        Is live stream

      Returns void

    • Stores segment data

      Parameters

      • swarmId: string

        Swarm identifier

      • streamId: string

        Stream identifier

      • segmentId: number

        Segment identifier

      • data: ArrayBuffer

        Segment data

      • startTime: number

        Segment start time

      • endTime: number

        Segment end time

      • streamType: StreamType

        Stream type

      • isLiveStream: boolean

        Is live stream

      Returns Promise<void>

    • Returns segment data

      Parameters

      • swarmId: string

        Swarm identifier

      • streamId: string

        Stream identifier

      • segmentId: number

        Segment identifier

      Returns Promise<ArrayBuffer | undefined>

    • Returns used memory information in the storage

      Returns { totalCapacity: number; usedCapacity: number }

    • Returns true if segment is in storage

      Parameters

      • swarmId: string

        Swarm identifier

      • streamId: string

        Stream identifier

      • segmentId: number

        Segment identifier

      Returns boolean

    • Returns segment IDs of a stream that are stored in the storage

      Parameters

      • swarmId: string

        Swarm identifier

      • streamId: string

        Stream identifier

      Returns number[]

    • Sets segment change callback function

      Parameters

      • callback: (streamId: string) => void

        Callback function that has to be called when segments appear or disappear in the storage

      Returns void