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); } }
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); } }