From f303ab3222241cd5c84b6e8d3aa2b7dec9f2338c Mon Sep 17 00:00:00 2001 From: xiongziliang <771730766@qq.com> Date: Tue, 12 May 2020 09:26:02 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A1=AE=E4=BF=9Drtp=E7=AB=AF=E5=8F=A3?= =?UTF-8?q?=E4=B8=BA=E5=81=B6=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Rtsp/RtspSession.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/Rtsp/RtspSession.cpp b/src/Rtsp/RtspSession.cpp index a9cbcffb..37e7aaf6 100644 --- a/src/Rtsp/RtspSession.cpp +++ b/src/Rtsp/RtspSession.cpp @@ -640,6 +640,14 @@ void RtspSession::handleReq_Setup(const Parser &parser) { send_NotAcceptable(); throw SockException(Err_shutdown, "open rtcp socket failed"); } + + if(pSockRtp->get_local_port() % 2 != 0){ + //如果rtp端口不是偶数,那么与rtcp端口互换,目的是兼容一些要求严格的播放器 + Socket::Ptr tmp = pSockRtp; + pSockRtp = pSockRtcp; + pSockRtcp = tmp; + } + _apRtpSock[trackIdx] = pSockRtp; _apRtcpSock[trackIdx] = pSockRtcp; //设置客户端内网端口信息