public void Register(MediaServerSignaler signaller) { lock (signallers) { signallers.Add(signaller); } }
public void Unregister(MediaServerSignaler signaller) { lock (signallers) { signallers.Remove(signaller); } }
private async Task EstablishAsBroadcasterAsync() { try { var body = $"{{ \"signalFromId\": \"{localId}\" }}"; var response = await NetworkUtil.PostJsonAsync($"{ServerAddress}broadcast/{streamName}", body); Util.WriteLine($"SFU/Transport capabilities received:\n{response}"); var _ = new MediaServerSignaler(this, localId, streamName, new WebRTCSession(webrtc)); } catch (Exception e) { Util.WriteLine($"Failed to etablish as a broadcaster ({e.Message}). Stream will be empty."); Util.WriteLine(e.ToString()); } }