mediasfu-angular
Version:
mediasfu-angular - Angular 17/18/19 WebRTC SDK for video conferencing, webinars, broadcasts, live streaming, chat, recording, whiteboard, and AI agents. Prebuilt rooms and fully custom UIs.
66 lines (65 loc) • 2.82 kB
TypeScript
import { Socket } from 'socket.io-client';
import { ReorderStreamsParameters, ReorderStreamsType, ConnectRecvTransportType, ConnectRecvTransportParameters } from '../@types/types';
import { types } from 'mediasoup-client';
import * as i0 from "@angular/core";
type Device = types.Device;
export interface SignalNewConsumerTransportParameters extends ReorderStreamsParameters, ConnectRecvTransportParameters {
device: Device | null;
consumingTransports: string[];
lock_screen: boolean;
updateConsumingTransports: (transports: string[]) => void;
connectRecvTransport: ConnectRecvTransportType;
reorderStreams: ReorderStreamsType;
getUpdatedAllParams: () => SignalNewConsumerTransportParameters;
[key: string]: any;
}
export interface SignalNewConsumerTransportOptions {
remoteProducerId: string;
islevel: string;
nsock: Socket;
parameters: SignalNewConsumerTransportParameters;
}
export type SignalNewConsumerTransportType = (options: SignalNewConsumerTransportOptions) => Promise<string[] | void>;
/**
* Signals the creation of a new consumer transport.
*
* @param {Object} options - The options for signaling a new consumer transport.
* @param {string} options.remoteProducerId - The ID of the remote producer.
* @param {boolean} options.islevel - Indicates the level of the consumer.
* @param {any} options.nsock - The socket instance for communication.
* @param {SignalNewConsumerTransportOptions} options.parameters - The parameters for the transport.
*
* @returns {Promise<string[] | void>} A promise that resolves to an array of consuming transports or void.
*
* @throws Will throw an error if the signaling process fails.
*
* @example
* const options = {
* remoteProducerId: 'producer-id',
* islevel: true,
* nsock: socketInstance,
* parameters: {
* device: mediaDevice,
* consumingTransports: [],
* lock_screen: false,
* updateConsumingTransports: updateFunction,
* connectRecvTransport: connectFunction,
* reorderStreams: reorderFunction,
* getUpdatedAllParams: getUpdatedParamsFunction,
* },
* };
*
* signalNewConsumerTransport(options)
* .then(consumingTransports => {
* console.log('Consuming Transports:', consumingTransports);
* })
* .catch(error => {
* console.error('Error signaling new consumer transport:', error);
* });
*/
export declare class SignalNewConsumerTransport {
signalNewConsumerTransport: ({ remoteProducerId, islevel, nsock, parameters, }: SignalNewConsumerTransportOptions) => Promise<string[] | void>;
static ɵfac: i0.ɵɵFactoryDeclaration<SignalNewConsumerTransport, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<SignalNewConsumerTransport>;
}
export {};