public override void UnRegisterProtocol(BaseProtocol protocol) { if (protocol is Session) { Sessions.Remove(protocol as Session); } else { CurrentProtocol = null; } }
public override void RegisterProtocol(BaseProtocol protocol) { if (protocol is Session) { Sessions.Add(protocol as Session); } else { CurrentProtocol = protocol as InboundRTMFPProtocol; } }
public override void RegisterProtocol(BaseProtocol protocol) { if (protocol is Session) Sessions.Add(protocol as Session); else CurrentProtocol = protocol as InboundRTMFPProtocol; }
public override void UnRegisterProtocol(BaseProtocol protocol) { if (protocol is Session) Sessions.Remove(protocol as Session); else CurrentProtocol = null; }
public override BaseProtocol SpawnProtocol(ulong type, Variant parameters) { BaseProtocol pResult = null; switch (type) { case ProtocolTypes.PT_TCP: pResult = new TCPProtocol(); break; case ProtocolTypes.PT_UDP: pResult = new UDPProtocol(); break; case ProtocolTypes.PT_INBOUND_SSL: pResult = new InboundSSLProtocol(); break; case ProtocolTypes.PT_OUTBOUND_SSL: pResult = new OutboundSSLProtocol(); break; case ProtocolTypes.PT_INBOUND_RTMP: pResult = new InboundRTMPProtocol(); break; case ProtocolTypes.PT_INBOUND_RTMPS_DISC: break; case ProtocolTypes.PT_OUTBOUND_RTMP: pResult = new OutboundRTMPProtocol(); break; case ProtocolTypes.PT_INBOUND_RTMFP: pResult = new InboundRTMFPProtocol(); break; case ProtocolTypes.PT_INBOUND_CLUSTER: pResult = new InboundClusterProtocol(); break; case ProtocolTypes.PT_OUTBOUND_CLUSTER: pResult = new OutboundClusterProtocol(); break; case ProtocolTypes.PT_RTSP: pResult = new RtspProtocol(); break; case ProtocolTypes.PT_RTP_NAT_TRAVERSAL: pResult = new NATTraversalProtocol(); break; case ProtocolTypes.PT_INBOUND_RTP: pResult = new InboundRtpProtocol(); break; case ProtocolTypes.PT_RTCP: pResult = new RtcpProtocol(); break; case ProtocolTypes.PT_INBOUND_WEBSOCKET: pResult = new WebSocketProtocol(); break; case ProtocolTypes.PT_INBOUND_WEBRTC_SIGNAL: pResult = new WebRtcSignalProtocol(); break; case ProtocolTypes.PT_INBOUND_MP4: pResult = new Mp4Protocol(); break; default: Logger.FATAL("Spawning protocol {0} not yet implemented", type.TagToString()); break; } if (pResult != null) { if (!pResult.Initialize(parameters)) { Logger.FATAL("Unable to initialize protocol {0}", type.TagToString()); pResult = null; } } return pResult; }