protected void OnUnBoundToTunnelService(TunnelService.TunnelBinder binder){ tunnel.Started -= OnTunnelStarted; tunnel.Stopped -= OnTunnelStopped; tunnel.ClientConnected -= OnClientConnected; tunnel.ClientDisConnected -= OnClientDisconnected; tunnel.LogEvent -= WriteLine; rtspServer.StreamingStarted -= OnStreamStarted; rtspServer.StreamingStoped -= OnStreamStopped; Console.WriteLine("Unbound from tunnel service"); }
protected void OnBoundToTunnelService(TunnelService.TunnelBinder binder){ Console.WriteLine("Bound to tunnel service"); if(tunnel == null || !tunnel.Equals(binder.Tunnel)){ tunnel = binder.Tunnel; rtspServer = binder.RtspServer; streamingSettings = binder.StreamingSettings; tunnel.Started += OnTunnelStarted; tunnel.Stopped += OnTunnelStopped; tunnel.ClientConnected += OnClientConnected; tunnel.ClientDisConnected += OnClientDisconnected; tunnel.LogEvent += WriteLine; rtspServer.StreamingStarted += OnStreamStarted; rtspServer.StreamingStoped += OnStreamStopped; } if (tunnel.IsRunning) { OnTunnelStarted(); if(tunnel.ClientsConnected != 0){ OnClientConnected(null); } else{ OnClientDisconnected(null); } SetStreamStatus(rtspServer.IsStreaming); } else{ OnTunnelStopped(); OnClientDisconnected(null); SetStreamStatus(false); } //Do something here }