mediasoup
Version:
Cutting Edge WebRTC Video Conferencing
49 lines • 2.09 kB
TypeScript
import { EnhancedEventEmitter } from './enhancedEvents';
import type { DataProducer, DataProducerType, DataProducerDump, DataProducerStat, DataProducerEvents, DataProducerObserver } from './DataProducerTypes';
import { Channel } from './Channel';
import type { TransportInternal } from './Transport';
import type { SctpStreamParameters } from './sctpParametersTypes';
import type { AppData } from './types';
import * as FbsDataProducer from './fbs/data-producer';
type DataProducerInternal = TransportInternal & {
dataProducerId: string;
};
type DataProducerData = {
type: DataProducerType;
sctpStreamParameters?: SctpStreamParameters;
label: string;
protocol: string;
};
export declare class DataProducerImpl<DataProducerAppData extends AppData = AppData> extends EnhancedEventEmitter<DataProducerEvents> implements DataProducer {
#private;
constructor({ internal, data, channel, paused, appData, }: {
internal: DataProducerInternal;
data: DataProducerData;
channel: Channel;
paused: boolean;
appData?: DataProducerAppData;
});
get id(): string;
get closed(): boolean;
get type(): DataProducerType;
get sctpStreamParameters(): SctpStreamParameters | undefined;
get label(): string;
get protocol(): string;
get paused(): boolean;
get appData(): DataProducerAppData;
set appData(appData: DataProducerAppData);
get observer(): DataProducerObserver;
close(): void;
transportClosed(): void;
dump(): Promise<DataProducerDump>;
getStats(): Promise<DataProducerStat[]>;
pause(): Promise<void>;
resume(): Promise<void>;
send(message: string | Buffer, ppid?: number, subchannels?: number[], requiredSubchannel?: number): void;
private handleWorkerNotifications;
private handleListenerError;
}
export declare function dataProducerTypeToFbs(type: DataProducerType): FbsDataProducer.Type;
export declare function parseDataProducerDumpResponse(data: FbsDataProducer.DumpResponse): DataProducerDump;
export {};
//# sourceMappingURL=DataProducer.d.ts.map