awrtc_browser
Version:
Compatible browser implementation to the Unity asset WebRTC Video Chat. Try examples in build folder
111 lines (110 loc) • 3.82 kB
TypeScript
import { IBasicNetwork, ConnectionId, NetworkEvent } from "./index";
import { Output } from "./Helper";
export declare class SignalingConfig {
private mNetwork;
constructor(network: IBasicNetwork);
GetNetwork(): IBasicNetwork;
}
export declare class SignalingInfo {
private mSignalingConnected;
IsSignalingConnected(): boolean;
private mConnectionId;
get ConnectionId(): ConnectionId;
private mIsIncoming;
IsIncoming(): boolean;
private mCreationTime;
GetCreationTimeMs(): number;
constructor(id: ConnectionId, isIncoming: boolean, timeStamp: number);
SignalingDisconnected(): void;
}
export declare enum WebRtcPeerState {
Invalid = 0,
Created = 1,
Signaling = 2,
SignalingFailed = 3,
Connected = 4,
Closing = 5,
Closed = 6
}
export declare enum WebRtcInternalState {
None = 0,
Signaling = 1,
SignalingFailed = 2,
Connected = 3,
Closed = 4
}
export declare abstract class AWebRtcPeer {
private mState;
GetState(): WebRtcPeerState;
private mRtcInternalState;
protected mPeer: RTCPeerConnection;
private mIncomingSignalingQueue;
private mOutgoingSignalingQueue;
private mDidSendRandomNumber;
private mRandomNumerSent;
protected mOfferOptions: RTCOfferOptions;
constructor(rtcConfig: RTCConfiguration);
protected abstract OnSetup(): void;
protected abstract OnStartSignaling(): void;
protected abstract OnCleanup(): void;
private SetupPeer;
protected DisposeInternal(): void;
Dispose(): void;
private Cleanup;
Update(): void;
private UpdateState;
HandleIncomingSignaling(): void;
AddSignalingMessage(msg: string): void;
DequeueSignalingMessage(/*out*/ msg: Output<string>): boolean;
private EnqueueOutgoing;
StartSignaling(): void;
NegotiateSignaling(): void;
private CreateOffer;
private CreateAnswer;
private RecAnswer;
private RtcSetSignalingStarted;
protected RtcSetSignalingFailed(): void;
protected RtcSetConnected(): void;
protected RtcSetClosed(): void;
private OnIceCandidate;
private OnIceConnectionStateChange;
private OnConnectionStateChange;
private OnIceGatheringStateChange;
private OnRenegotiationNeeded;
private OnSignalingChange;
}
export declare class WebRtcDataPeer extends AWebRtcPeer {
private mConnectionId;
get ConnectionId(): ConnectionId;
private mInfo;
get SignalingInfo(): SignalingInfo;
SetSignalingInfo(info: SignalingInfo): void;
private mEvents;
private static sLabelReliable;
private static sLabelUnreliable;
private mReliableDataChannelReady;
private mUnreliableDataChannelReady;
private mReliableDataChannel;
private mUnreliableDataChannel;
constructor(id: ConnectionId, rtcConfig: RTCConfiguration);
protected OnSetup(): void;
protected OnStartSignaling(): void;
protected OnCleanup(): void;
private RegisterObserverReliable;
private RegisterObserverUnreliable;
SendData(data: Uint8Array, /* offset : number, length : number,*/ reliable: boolean): boolean;
GetBufferedAmount(reliable: boolean): number;
DequeueEvent(/*out*/ ev: Output<NetworkEvent>): boolean;
private Enqueue;
OnDataChannel(data_channel: RTCDataChannel): void;
private RtcOnMessageReceived;
private ReliableDataChannel_OnMessage;
private ReliableDataChannel_OnOpen;
private ReliableDataChannel_OnClose;
private ReliableDataChannel_OnError;
private UnreliableDataChannel_OnMessage;
private UnreliableDataChannel_OnOpen;
private UnreliableDataChannel_OnClose;
private UnreliableDataChannel_OnError;
private IsRtcConnected;
}