From 757139312b9127b6caaa89993d4862e1e9b76d77 Mon Sep 17 00:00:00 2001 From: xiongziliang <771730766@qq.com> Date: Thu, 11 Jul 2019 12:15:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Rtsp/RtspPlayer.cpp | 4 +++- src/Rtsp/RtspPusher.cpp | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/Rtsp/RtspPlayer.cpp b/src/Rtsp/RtspPlayer.cpp index a5482f30..df20c36b 100644 --- a/src/Rtsp/RtspPlayer.cpp +++ b/src/Rtsp/RtspPlayer.cpp @@ -233,12 +233,13 @@ void RtspPlayer::handleResDESCRIBE(const Parser& parser) { sendSetup(0); } -//有必须的情况下创建udp端口 +//有必要的情况下创建udp端口 void RtspPlayer::createUdpSockIfNecessary(int track_idx){ auto &rtpSockRef = _apRtpSock[track_idx]; auto &rtcpSockRef = _apRtcpSock[track_idx]; if(!rtpSockRef){ rtpSockRef.reset(new Socket(getPoller())); + //rtp随机端口 if (!rtpSockRef->bindUdpSock(0, get_local_ip().data())) { rtpSockRef.reset(); throw std::runtime_error("open rtp sock failed"); @@ -247,6 +248,7 @@ void RtspPlayer::createUdpSockIfNecessary(int track_idx){ if(!rtcpSockRef){ rtcpSockRef.reset(new Socket(getPoller())); + //rtcp端口为rtp端口+1,目的是为了兼容某些服务器,其实更推荐随机端口 if (!rtcpSockRef->bindUdpSock(rtpSockRef->get_local_port() + 1, get_local_ip().data())) { rtcpSockRef.reset(); throw std::runtime_error("open rtcp sock failed"); diff --git a/src/Rtsp/RtspPusher.cpp b/src/Rtsp/RtspPusher.cpp index 766796c9..bb5f9431 100644 --- a/src/Rtsp/RtspPusher.cpp +++ b/src/Rtsp/RtspPusher.cpp @@ -242,12 +242,12 @@ bool RtspPusher::handleAuthenticationFailure(const string ¶msStr) { return false; } - -//有必须的情况下创建udp端口 +//有必要的情况下创建udp端口 void RtspPusher::createUdpSockIfNecessary(int track_idx){ auto &rtpSockRef = _apUdpSock[track_idx]; if(!rtpSockRef){ rtpSockRef.reset(new Socket(getPoller())); + //rtp随机端口 if (!rtpSockRef->bindUdpSock(0, get_local_ip().data())) { rtpSockRef.reset(); throw std::runtime_error("open rtp sock failed");