/// <summary> /// Selects the transport based on the configuration of the system.. /// </summary> /// <param name="requestSetup">The request setup message.</param> /// <returns>The selected transport</returns> /// <remarks> /// The transport is selected by taking the first supported transport /// in order of appearence. /// </remarks> private static RtspTransport SelectTransport(RtspRequestSetup requestSetup) { RtspTransport selectedTransport = null; const bool acceptTCP = false; const bool acceptUDPUnicast = true; const bool acceptUDPMulticast = true; foreach (RtspTransport proposedTransport in requestSetup.GetTransports()) { if (acceptTCP && proposedTransport.LowerTransport == RtspTransport.LowerTransportType.TCP) { selectedTransport = proposedTransport; break; } if (acceptUDPMulticast && proposedTransport.LowerTransport == RtspTransport.LowerTransportType.UDP && proposedTransport.IsMulticast) { selectedTransport = proposedTransport; break; } if (acceptUDPUnicast && proposedTransport.LowerTransport == RtspTransport.LowerTransportType.UDP && !proposedTransport.IsMulticast) { selectedTransport = proposedTransport; break; } } return selectedTransport; }