CSharpRTMP.Core.Protocols.Rtsp.BaseRtspAppProtocolHandler.HandleRTSPResponse200Record C# (CSharp) Method

HandleRTSPResponse200Record() private method

private HandleRTSPResponse200Record ( RtspProtocol rtspProtocol, Variant requestHeaders, string &requestContent, Variant responseHeaders, string &responseContent ) : bool
rtspProtocol RtspProtocol
requestHeaders Variant
requestContent string
responseHeaders Variant
responseContent string
return bool
        private bool HandleRTSPResponse200Record(RtspProtocol rtspProtocol, Variant requestHeaders, ref string requestContent, Variant responseHeaders, ref string responseContent)
        {
            bool forceTcp = rtspProtocol.CustomParameters["forceTcp"];
            var pConnectivity = GetOutboundConnectivity(rtspProtocol, forceTcp);
            if (pConnectivity == null)
            {
                FATAL("Unable to get outbound connectivity");
                return false;
            }
            bool result = false;
            var param = rtspProtocol.CustomParameters;
            if (param["audioTransport"] != null)
            {
                if (forceTcp)
                {
                    if (
                        !pConnectivity.RegisterTCPAudioClient(rtspProtocol.Id,
                            param["audioTransport", "interleaved", "data"],
                            param["audioTransport", "interleaved", "rtcp"]))
                    {
                        FATAL("Unable to register audio stream");
                        return false;
                    }
                }
                else
                {
                    
                    var dataAddress = new IPEndPoint((rtspProtocol.IOHandler as TCPCarrier).FarInfo.Address, (param["audioTransport", "interleaved", "data"]));
                    var rtcpAddress = new IPEndPoint((rtspProtocol.IOHandler as TCPCarrier).FarInfo.Address, (param["audioTransport", "interleaved", "rtcp"]));
                    if (
                        !pConnectivity.RegisterUDPAudioClient(rtspProtocol.Id,dataAddress, rtcpAddress))   
                    {
                        FATAL("Unable to register audio stream");
                        return false;
                    }
                }
                result = true;
            }
            if (param["videoTransport"] != null)
            {
                if (forceTcp)
                {
                    if (
                        !pConnectivity.RegisterTCPVideoClient(rtspProtocol.Id,
                            param["videoTransport", "interleaved", "data"],
                            param["videoTransport", "interleaved", "rtcp"]))
                    {
                        FATAL("Unable to register video stream");
                        return false;
                    }
                }
                else
                {
                    var dataAddress = new IPEndPoint((rtspProtocol.IOHandler as TCPCarrier).FarInfo.Address,(param["videoTransport", "interleaved", "data"]));
                    var rtcpAddress = new IPEndPoint((rtspProtocol.IOHandler as TCPCarrier).FarInfo.Address,(param["videoTransport", "interleaved", "rtcp"]));
                    if (
                        !pConnectivity.RegisterUDPVideoClient(rtspProtocol.Id, dataAddress, rtcpAddress))
                    {
                        FATAL("Unable to register video stream");
                        return false;
                    }
                }
                result = true;
            }
            return result;
        }