@livepeer/core-web
Version:
Livepeer UI Kit's core web library, for adding reactive stores to video elements.
57 lines (53 loc) • 2.09 kB
text/typescript
import { AccessControlParams } from '@livepeer/core/media';
/**
* Client that uses WHEP to play back video over WebRTC.
*
* https://www.ietf.org/id/draft-murillo-whep-00.html
*/
declare const createNewWHEP: <TElement extends HTMLMediaElement>({ source, element, callbacks, accessControl, sdpTimeout, iceServers, }: {
source: string;
element: TElement;
callbacks: {
onConnected?: () => void;
onPlaybackOffsetUpdated?: (d: number) => void;
onError?: (data: Error) => void;
onRedirect?: (url: string | null) => void;
};
accessControl: AccessControlParams;
sdpTimeout: number | null;
iceServers?: RTCIceServer | RTCIceServer[];
}) => {
destroy: () => void;
};
type WebRTCConnectedPayload = {
stream: MediaStream;
videoTransceiver: RTCRtpTransceiver;
audioTransceiver: RTCRtpTransceiver;
};
/**
* Client that uses WHIP to broadcast video over WebRTC.
*
* https://www.ietf.org/archive/id/draft-ietf-wish-whip-01.html
*/
declare const createNewWHIP: <TElement extends HTMLMediaElement>({ ingestUrl, element, callbacks, sdpTimeout, noIceGathering, iceServers, }: {
ingestUrl: string;
element: TElement;
callbacks: {
onRTCPeerConnection?: (payload: RTCPeerConnection) => void;
onConnected?: () => void;
onError?: (data: Error) => void;
};
sdpTimeout: number | null;
noIceGathering?: boolean;
iceServers?: RTCIceServer | RTCIceServer[];
}) => {
destroy: () => void;
};
declare const attachMediaStreamToPeerConnection: ({ mediaStream, peerConnection, }: {
mediaStream: MediaStream;
peerConnection: RTCPeerConnection;
}) => Promise<void>;
declare const getUserMedia: (constraints?: MediaStreamConstraints) => Promise<MediaStream> | null;
declare const getMediaDevices: () => MediaDevices | null;
declare const getDisplayMedia: (options?: DisplayMediaStreamOptions) => Promise<MediaStream> | null;
export { type WebRTCConnectedPayload, attachMediaStreamToPeerConnection, createNewWHEP, createNewWHIP, getDisplayMedia, getMediaDevices, getUserMedia };