[Pkg-voip-commits] [janus] 08/282: Made incoming_rtcp handler more compact too

Jonas Smedegaard dr at jones.dk
Wed Dec 20 21:53:22 UTC 2017


This is an automated email from the git hooks/post-receive script.

js pushed a commit to annotated tag debian/0.2.6-1
in repository janus.

commit 61bbe67fcab5af4a29860c80d0864a1a90f1002c
Author: Lorenzo Miniero <lminiero at gmail.com>
Date:   Fri Mar 3 15:33:58 2017 +0100

    Made incoming_rtcp handler more compact too
---
 plugins/janus_nosip.c | 70 +++++++++++++++++++--------------------------------
 1 file changed, 26 insertions(+), 44 deletions(-)

diff --git a/plugins/janus_nosip.c b/plugins/janus_nosip.c
index 031456a..1294618 100644
--- a/plugins/janus_nosip.c
+++ b/plugins/janus_nosip.c
@@ -815,53 +815,35 @@ void janus_nosip_incoming_rtcp(janus_plugin_session *handle, int video, char *bu
 			return;
 		}
 		/* Forward to our NoSIP peer */
-		if(video) {
-			if(session->media.has_video && session->media.video_rtcp_fd) {
-				/* Fix SSRCs as the gateway does */
-				JANUS_LOG(LOG_HUGE, "[NoSIP] Fixing SSRCs (local %u, peer %u)\n",
-					session->media.video_ssrc, session->media.video_ssrc_peer);
-				janus_rtcp_fix_ssrc(NULL, (char *)buf, len, 1, session->media.video_ssrc, session->media.video_ssrc_peer);
-				/* Is SRTP involved? */
-				if(session->media.has_srtp_local) {
-					char sbuf[2048];
-					memcpy(&sbuf, buf, len);
-					int protected = len;
-					int res = srtp_protect_rtcp(session->media.video_srtp_out, &sbuf, &protected);
-					if(res != srtp_err_status_ok) {
-						JANUS_LOG(LOG_ERR, "[NoSIP-%p] Video SRTCP protect error... %s (len=%d-->%d)...\n",
-							session, janus_srtp_error_str(res), len, protected);
-					} else {
-						/* Forward the message to the peer */
-						send(session->media.video_rtcp_fd, sbuf, protected, 0);
-					}
-				} else {
-					/* Forward the message to the peer */
-					send(session->media.video_rtcp_fd, buf, len, 0);
-				}
-			}
-		} else {
-			if(session->media.has_audio && session->media.audio_rtcp_fd) {
-				/* Fix SSRCs as the gateway does */
-				JANUS_LOG(LOG_HUGE, "[NoSIP] Fixing SSRCs (local %u, peer %u)\n",
-					session->media.audio_ssrc, session->media.audio_ssrc_peer);
-				janus_rtcp_fix_ssrc(NULL, (char *)buf, len, 1, session->media.audio_ssrc, session->media.audio_ssrc_peer);
-				/* Is SRTP involved? */
-				if(session->media.has_srtp_local) {
-					char sbuf[2048];
-					memcpy(&sbuf, buf, len);
-					int protected = len;
-					int res = srtp_protect_rtcp(session->media.audio_srtp_out, &sbuf, &protected);
-					if(res != srtp_err_status_ok) {
-						JANUS_LOG(LOG_ERR, "[NoSIP-%p] Audio SRTCP protect error... %s (len=%d-->%d)...\n",
-							session, janus_srtp_error_str(res), len, protected);
-					} else {
-						/* Forward the message to the peer */
-						send(session->media.audio_rtcp_fd, sbuf, protected, 0);
-					}
+		if((video && session->media.has_video && session->media.video_rtcp_fd) ||
+				(!video && session->media.has_audio && session->media.audio_rtcp_fd)) {
+			/* Fix SSRCs as the gateway does */
+			JANUS_LOG(LOG_HUGE, "[NoSIP-%p] Fixing %s SSRCs (local %u, peer %u)\n",
+				session, video ? "video" : "audio",
+				(video ? session->media.video_ssrc : session->media.audio_ssrc),
+				(video ? session->media.video_ssrc_peer : session->media.audio_ssrc_peer));
+			janus_rtcp_fix_ssrc(NULL, (char *)buf, len, video,
+				(video ? session->media.video_ssrc : session->media.audio_ssrc),
+				(video ? session->media.video_ssrc_peer : session->media.audio_ssrc_peer));
+			/* Is SRTP involved? */
+			if(session->media.has_srtp_local) {
+				char sbuf[2048];
+				memcpy(&sbuf, buf, len);
+				int protected = len;
+				int res = srtp_protect_rtcp(
+					(video ? session->media.video_srtp_out : session->media.audio_srtp_out),
+					&sbuf, &protected);
+				if(res != srtp_err_status_ok) {
+					JANUS_LOG(LOG_ERR, "[NoSIP-%p] %s SRTCP protect error... %s (len=%d-->%d)...\n",
+						session, video ? "Video" : "Audio",
+						janus_srtp_error_str(res), len, protected);
 				} else {
 					/* Forward the message to the peer */
-					send(session->media.audio_rtcp_fd, buf, len, 0);
+					send((video ? session->media.video_rtcp_fd : session->media.audio_rtcp_fd), sbuf, protected, 0);
 				}
+			} else {
+				/* Forward the message to the peer */
+				send((video ? session->media.video_rtcp_fd : session->media.audio_rtcp_fd), buf, len, 0);
 			}
 		}
 	}

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-voip/janus.git



More information about the Pkg-voip-commits mailing list