summaryrefslogtreecommitdiff
path: root/res/res_pjsip_sdp_rtp.c
diff options
context:
space:
mode:
Diffstat (limited to 'res/res_pjsip_sdp_rtp.c')
-rw-r--r--res/res_pjsip_sdp_rtp.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/res/res_pjsip_sdp_rtp.c b/res/res_pjsip_sdp_rtp.c
index 345967bce..17aa746c9 100644
--- a/res/res_pjsip_sdp_rtp.c
+++ b/res/res_pjsip_sdp_rtp.c
@@ -258,7 +258,7 @@ static int set_caps(struct ast_sip_session *session, struct ast_sip_session_medi
}
ast_rtp_codecs_payloads_destroy(&codecs);
- return 1;
+ return 0;
}
static pjmedia_sdp_attr* generate_rtpmap_attr(pjmedia_sdp_media *media, pj_pool_t *pool, int rtp_code,
@@ -733,7 +733,15 @@ static int negotiate_incoming_sdp_stream(struct ast_sip_session *session, struct
return -1;
}
- return set_caps(session, session_media, stream);
+ if (set_caps(session, session_media, stream)) {
+ return -1;
+ }
+
+ if (media_type == AST_FORMAT_TYPE_AUDIO) {
+ apply_packetization(session, session_media, stream);
+ }
+
+ return 1;
}
static int add_crypto_to_stream(struct ast_sip_session *session,
@@ -1052,7 +1060,7 @@ static int apply_negotiated_sdp_stream(struct ast_sip_session *session, struct a
ast_sockaddr_set_port(addrs, remote_stream->desc.port);
ast_rtp_instance_set_remote_address(session_media->rtp, addrs);
- if (set_caps(session, session_media, local_stream) < 1) {
+ if (set_caps(session, session_media, local_stream)) {
return -1;
}