2026-04-28 16:48:04 +08:00
|
|
|
using Unity.WebRTC;
|
|
|
|
|
|
|
|
|
|
namespace Unity.RenderStreaming.Signaling
|
|
|
|
|
{
|
|
|
|
|
public delegate void OnStartHandler(ISignaling signaling);
|
|
|
|
|
public delegate void OnConnectHandler(ISignaling signaling, string connectionId, bool polite);
|
|
|
|
|
public delegate void OnDisconnectHandler(ISignaling signaling, string connectionId);
|
|
|
|
|
public delegate void OnOfferHandler(ISignaling signaling, DescData e);
|
|
|
|
|
public delegate void OnAnswerHandler(ISignaling signaling, DescData e);
|
|
|
|
|
public delegate void OnIceCandidateHandler(ISignaling signaling, CandidateData e);
|
2026-04-29 15:13:24 +08:00
|
|
|
public delegate void OnParticipantJoinedHandler(ISignaling signaling, ParticipantEventData e);
|
|
|
|
|
public delegate void OnParticipantLeftHandler(ISignaling signaling, ParticipantEventData e);
|
|
|
|
|
public delegate void OnCallRequestHandler(ISignaling signaling, CallRequestData e);
|
|
|
|
|
public delegate void OnMessageHandler(ISignaling signaling, OnMessageData e);
|
2026-04-28 16:48:04 +08:00
|
|
|
|
|
|
|
|
public interface ISignaling
|
|
|
|
|
{
|
|
|
|
|
void Start();
|
|
|
|
|
void Stop();
|
|
|
|
|
|
|
|
|
|
event OnStartHandler OnStart;
|
|
|
|
|
event OnConnectHandler OnCreateConnection;
|
|
|
|
|
event OnDisconnectHandler OnDestroyConnection;
|
|
|
|
|
event OnOfferHandler OnOffer;
|
|
|
|
|
event OnAnswerHandler OnAnswer;
|
|
|
|
|
event OnIceCandidateHandler OnIceCandidate;
|
2026-04-29 15:13:24 +08:00
|
|
|
event OnParticipantJoinedHandler OnParticipantJoined;
|
|
|
|
|
event OnParticipantLeftHandler OnParticipantLeft;
|
|
|
|
|
event OnCallRequestHandler OnCallRequest;
|
|
|
|
|
event OnMessageHandler OnMessage;
|
2026-04-28 16:48:04 +08:00
|
|
|
|
|
|
|
|
string Url { get; }
|
|
|
|
|
|
|
|
|
|
void OpenConnection(string connectionId);
|
|
|
|
|
void CloseConnection(string connectionId);
|
|
|
|
|
void SendOffer(string connectionId, RTCSessionDescription offer);
|
|
|
|
|
void SendAnswer(string connectionId, RTCSessionDescription answer);
|
|
|
|
|
void SendCandidate(string connectionId, RTCIceCandidate candidate);
|
|
|
|
|
}
|
|
|
|
|
}
|