summaryrefslogtreecommitdiff
path: root/res/res_rtp_asterisk.c
diff options
context:
space:
mode:
Diffstat (limited to 'res/res_rtp_asterisk.c')
-rw-r--r--res/res_rtp_asterisk.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/res/res_rtp_asterisk.c b/res/res_rtp_asterisk.c
index a67bc8135..88201837d 100644
--- a/res/res_rtp_asterisk.c
+++ b/res/res_rtp_asterisk.c
@@ -1577,7 +1577,7 @@ static int ast_rtp_dtls_active(struct ast_rtp_instance *instance)
static void ast_rtp_dtls_stop(struct ast_rtp_instance *instance)
{
struct ast_rtp *rtp = ast_rtp_instance_get_data(instance);
- int rtcp_dtls_unique = (rtp->dtls.ssl != rtp->rtcp->dtls.ssl);
+ SSL *ssl = rtp->dtls.ssl;
dtls_srtp_stop_timeout_timer(instance, rtp, 0);
@@ -1595,7 +1595,7 @@ static void ast_rtp_dtls_stop(struct ast_rtp_instance *instance)
if (rtp->rtcp) {
dtls_srtp_stop_timeout_timer(instance, rtp, 1);
- if (rtp->rtcp->dtls.ssl && rtcp_dtls_unique) {
+ if (rtp->rtcp->dtls.ssl && (rtp->rtcp->dtls.ssl != ssl)) {
SSL_free(rtp->rtcp->dtls.ssl);
rtp->rtcp->dtls.ssl = NULL;
ast_mutex_destroy(&rtp->rtcp->dtls.lock);
@@ -4426,7 +4426,7 @@ static struct ast_frame *ast_rtcp_read(struct ast_rtp_instance *instance)
return &ast_null_frame;
}
- if (!*(read_area)) {
+ if (!*read_area) {
struct sockaddr_in addr_tmp;
struct ast_sockaddr addr_v4;
@@ -4448,7 +4448,7 @@ static struct ast_frame *ast_rtcp_read(struct ast_rtp_instance *instance)
return &ast_null_frame;
}
- return ast_rtcp_interpret(instance, read_area, read_area_size, &addr);
+ return ast_rtcp_interpret(instance, read_area, res, &addr);
}
static int bridge_p2p_rtp_write(struct ast_rtp_instance *instance, unsigned int *rtpheader, int len, int hdrlen)
@@ -4633,7 +4633,7 @@ static struct ast_frame *ast_rtp_read(struct ast_rtp_instance *instance, int rtc
/* This could be a multiplexed RTCP packet. If so, be sure to interpret it correctly */
if (rtcp_mux(rtp, read_area)) {
- return ast_rtcp_interpret(instance, read_area, read_area_size, &addr);
+ return ast_rtcp_interpret(instance, read_area, res, &addr);
}
/* Make sure the data that was read in is actually enough to make up an RTP packet */
@@ -5040,7 +5040,9 @@ static void ast_rtp_prop_set(struct ast_rtp_instance *instance, enum ast_rtp_pro
return;
}
rtp->rtcp->s = -1;
+#ifdef HAVE_OPENSSL_SRTP
rtp->rtcp->dtls.timeout_timer = -1;
+#endif
rtp->rtcp->schedid = -1;
}