UNPKG

p2p-media-loader-core

Version:
16 lines (15 loc) 1.22 kB
import { SegmentWithStream, Stream, StreamConfig, StreamWithSegments } from "../types.js"; import { Playback } from "../internal-types.js"; import { P2PLoader } from "../p2p/loader.js"; export type SegmentPlaybackStatuses = { isHighDemand: boolean; isHttpDownloadable: boolean; isP2PDownloadable: boolean; }; export type PlaybackTimeWindowsConfig = Pick<StreamConfig, "highDemandTimeWindow" | "httpDownloadTimeWindow" | "p2pDownloadTimeWindow">; export declare function getStreamSwarmId(swarmId: string, stream: Readonly<Stream>): string; export declare function getSegmentFromStreamsMap(streams: Map<string, StreamWithSegments>, segmentRuntimeId: string): SegmentWithStream | undefined; export declare function getSegmentFromStreamByExternalId(stream: StreamWithSegments, segmentExternalId: number): SegmentWithStream | undefined; export declare function getStreamId(stream: Stream): string; export declare function getSegmentAvgDuration(stream: StreamWithSegments): number; export declare function getSegmentPlaybackStatuses(segment: SegmentWithStream, playback: Playback, timeWindowsConfig: PlaybackTimeWindowsConfig, currentP2PLoader: P2PLoader, availableMemoryPercent: number): SegmentPlaybackStatuses;