summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2013-05-03 11:35:14 +0000
committerJoshua Colp <jcolp@digium.com>2013-05-03 11:35:14 +0000
commite236c2ea36f9b9e84e40ebf9cf0baf8d0ce04322 (patch)
tree59a94a929b9ae640201221283e9891dbb28e6389
parent4d84d67e5713cd0de5761fe6485aa4fcf57c2704 (diff)
Use the configured formats for Gulp sessions if there are no joint formats between requested formats and configured formats.
(closes issue ASTERISK-21756) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@387545 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rw-r--r--channels/chan_gulp.c2
-rw-r--r--res/res_sip_sdp_rtp.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/channels/chan_gulp.c b/channels/chan_gulp.c
index 395987405..0b7dedfb8 100644
--- a/channels/chan_gulp.c
+++ b/channels/chan_gulp.c
@@ -434,7 +434,7 @@ static struct ast_channel *gulp_new(struct ast_sip_session *session, int state,
pvt->media[SIP_MEDIA_VIDEO] = ao2_find(session->media, "video", OBJ_KEY);
ast_channel_tech_pvt_set(chan, pvt);
- if (ast_format_cap_is_empty(session->req_caps)) {
+ if (ast_format_cap_is_empty(session->req_caps) || !ast_format_cap_has_joint(session->req_caps, session->endpoint->codecs)) {
ast_format_cap_copy(ast_channel_nativeformats(chan), session->endpoint->codecs);
} else {
ast_format_cap_copy(ast_channel_nativeformats(chan), session->req_caps);
diff --git a/res/res_sip_sdp_rtp.c b/res/res_sip_sdp_rtp.c
index 13e6aa1aa..d0af479c7 100644
--- a/res/res_sip_sdp_rtp.c
+++ b/res/res_sip_sdp_rtp.c
@@ -556,7 +556,7 @@ static int create_outgoing_sdp_stream(struct ast_sip_session *session, struct as
if (direct_media_enabled) {
ast_format_cap_joint_copy(session->endpoint->codecs, session->direct_media_cap, caps);
- } else if (ast_format_cap_is_empty(session->req_caps)) {
+ } else if (ast_format_cap_is_empty(session->req_caps) || !ast_format_cap_has_joint(session->req_caps, session->endpoint->codecs)) {
ast_format_cap_copy(caps, session->endpoint->codecs);
} else {
ast_format_cap_joint_copy(session->endpoint->codecs, session->req_caps, caps);