UNPKG

msc-node

Version:

mediasoup client side Node.js library

154 lines 4 kB
import { EnhancedEventEmitter } from './EnhancedEventEmitter'; import { RtpCodecCapability, RtpParameters, RtpEncodingParameters } from './RtpParameters'; import { RTCRtpSender } from 'werift/lib/webrtc/src/media/rtpSender'; import { MediaStreamTrack } from 'werift'; export type ProducerOptions = { track?: MediaStreamTrack; encodings?: RtpEncodingParameters[]; codecOptions?: ProducerCodecOptions; codec?: RtpCodecCapability; stopTracks?: boolean; disableTrackOnPause?: boolean; zeroRtpOnPause?: boolean; appData?: any; }; export type ProducerCodecOptions = { opusStereo?: boolean; opusFec?: boolean; opusDtx?: boolean; opusMaxPlaybackRate?: number; opusMaxAverageBitrate?: number; opusPtime?: number; videoGoogleStartBitrate?: number; videoGoogleMaxBitrate?: number; videoGoogleMinBitrate?: number; }; export declare class Producer extends EnhancedEventEmitter { private readonly _id; private readonly _localId; private _closed; private readonly _rtpSender?; private _track; private readonly _kind; private readonly _rtpParameters; private _paused; private _maxSpatialLayer; private _stopTracks; private _disableTrackOnPause; private _zeroRtpOnPause; private readonly _appData; protected readonly _observer: EnhancedEventEmitter; /** * @emits transportclose * @emits trackended * @emits @replacetrack - (track: MediaStreamTrack | null) * @emits @setmaxspatiallayer - (spatialLayer: string) * @emits @setrtpencodingparameters - (params: any) * @emits @getstats * @emits @close */ constructor({ id, localId, rtpSender, track, rtpParameters, stopTracks, disableTrackOnPause, zeroRtpOnPause, appData }: { id: string; localId: string; rtpSender?: RTCRtpSender; track: MediaStreamTrack; rtpParameters: RtpParameters; stopTracks: boolean; disableTrackOnPause: boolean; zeroRtpOnPause: boolean; appData: any; }); /** * Producer id. */ get id(): string; /** * Local id. */ get localId(): string; /** * Whether the Producer is closed. */ get closed(): boolean; /** * Media kind. */ get kind(): string; /** * Associated RTCRtpSender. */ get rtpSender(): RTCRtpSender | undefined; /** * The associated track. */ get track(): MediaStreamTrack | null; /** * RTP parameters. */ get rtpParameters(): RtpParameters; /** * Whether the Producer is paused. */ get paused(): boolean; /** * Max spatial layer. * * @type {Number | undefined} */ get maxSpatialLayer(): number | undefined; /** * App custom data. */ get appData(): any; /** * Invalid setter. */ set appData(appData: any); /** * Observer. * * @emits close * @emits pause * @emits resume * @emits trackended */ get observer(): EnhancedEventEmitter; /** * Closes the Producer. */ close(): void; /** * Transport was closed. */ transportClosed(): void; /** * Get associated RTCRtpSender stats. */ getStats(): Promise<RTCStatsReport>; /** * Pauses sending media. */ pause(): void; /** * Resumes sending media. */ resume(): void; /** * Replaces the current track with a new one or null. */ replaceTrack({ track }: { track: MediaStreamTrack | null; }): Promise<void>; /** * Sets the video max spatial layer to be sent. */ setMaxSpatialLayer(spatialLayer: number): Promise<void>; /** * Sets the DSCP value. */ setRtpEncodingParameters(params: RTCRtpEncodingParameters): Promise<void>; private _onTrackEnded; private _handleTrack; private _destroyTrack; } //# sourceMappingURL=Producer.d.ts.map