@100mslive/hms-video-store
Version:
@100mslive Core SDK which abstracts the complexities of webRTC while providing a reactive store for data management with a unidirectional data flow
39 lines (37 loc) • 1.15 kB
text/typescript
import { HMSPlaylistItem, HMSPlaylistSelection } from './playlist';
import { HMSStore } from './schema';
/**
* Helpful selectors for audio and video playlist
*/
export interface HMSPlaylistSelector {
/**
* returns the playlist items list as set initially
*/
list: <T>(store: HMSStore) => HMSPlaylistItem<T>[];
/**
* This returns playlist selection with `{ id, hasNext, hasPrev }`
* @returns {HMSPlaylistSelection}
*/
selection: (store: HMSStore) => HMSPlaylistSelection;
/**
* This returns playlist item for corresponding Id in selection
* @returns {HMSPlaylistItem}
*/
selectedItem: <T>(store: HMSStore) => HMSPlaylistItem<T>;
/**
* returns the current progress percentage, a number between 0-100
*/
progress: (store: HMSStore) => number;
/**
* returns the current volume the playlist is playing at, a number between 0-100
*/
volume: (store: HMSStore) => number;
/**
* returns the current time of the playlist in seconds
*/
currentTime: (store: HMSStore) => number;
/**
* returns the playback rate, a number between 0.25-2.0.
*/
playbackRate: (store: HMSStore) => number;
}