private async Task CloseRtspSessionAsync(CancellationToken token)
        {
            RtspRequestMessage teardownRequest = _requestMessageFactory.CreateTeardownRequest();

            if (_connectionParameters.RtpTransport == RtpTransportProtocol.TCP)
            {
                await _rtspTransportClient.SendRequestAsync(teardownRequest, token);
            }
            else
            {
                await _rtspTransportClient.EnsureExecuteRequest(teardownRequest, token);
            }
        }
Exemplo n.º 2
0
        private async Task CloseRtspSessionAsync(CancellationToken token)
        {
            RtspRequestMessage teardownRequest = _requestMessageFactory.CreateTeardownRequest();

            if (_connectionParameters.RtpTransport == RtpTransportProtocol.TCP)
            {
                await _rtspTransportClient.SendRequestAsync(teardownRequest, token);
            }
            else if (_connectionParameters.RtpTransport == RtpTransportProtocol.MULTICAST)
            {
                // There is no need to leave multicast group because it is done automatically by OS when socket closes
                await _rtspTransportClient.EnsureExecuteRequest(teardownRequest, token);
            }
            else
            {
                await _rtspTransportClient.EnsureExecuteRequest(teardownRequest, token);
            }
        }