CSharpRTMP.Core.Protocols.Rtsp.RtspProtocol.GetRequest C# (CSharp) Method

GetRequest() public method

public GetRequest ( uint seqId, Variant result, string &content ) : bool
seqId uint
result Variant
content string
return bool
        public bool GetRequest(uint seqId, Variant result, ref string content)
        {
            if (_pendingRequestHeaders.ContainsKey(seqId) && _pendingRequestContent.ContainsKey(seqId))
            {
                result.SetValue(_pendingRequestHeaders[seqId]);
                content = _pendingRequestContent[seqId];
            }
            else
            {
                _pendingRequestHeaders.Remove(seqId);
                _pendingRequestContent.Remove(seqId);
                return false;
            }
            return true;
        }

Usage Example

        public bool HandleRTSPResponse(RtspProtocol rtspProtocol, Variant responseHeaders,ref string responseContent)
        {
           
            if (responseHeaders[RTSP_HEADERS, RTSP_HEADERS_SESSION] != null)
            {
                rtspProtocol.SessionId = responseHeaders[RTSP_HEADERS, RTSP_HEADERS_SESSION];
            }
            if (responseHeaders[RTSP_HEADERS, RTSP_HEADERS_CSEQ] == null)
            {
                FATAL("Invalid response:\n{0}", (responseHeaders.ToString()));
                return false;
            }
            Variant requestHeaders = Variant.Get();
            string requestContent = "";
            rtspProtocol.GetRequest(responseHeaders[RTSP_HEADERS, RTSP_HEADERS_CSEQ], requestHeaders, ref requestContent);
            
            //2. Get the request, get the response and call the stack further
            return HandleRTSPResponse(rtspProtocol,
                    requestHeaders,
                   ref requestContent,
                    responseHeaders,
                   ref responseContent);

        }