[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