fix codec renegotiation on hold/reinvite issue
This commit is contained in:
parent
bc08591812
commit
8231cb9f01
|
@ -2844,6 +2844,13 @@ SWITCH_DECLARE(uint8_t) switch_core_media_negotiate_sdp(switch_core_session_t *s
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (session->bugs) {
|
||||||
|
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG,
|
||||||
|
"Session is connected to a media bug. "
|
||||||
|
"Re-Negotiation implicitly disabled.\n");
|
||||||
|
reneg = 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (!reneg && smh->num_negotiated_codecs) {
|
if (!reneg && smh->num_negotiated_codecs) {
|
||||||
codec_array = smh->negotiated_codecs;
|
codec_array = smh->negotiated_codecs;
|
||||||
total_codecs = smh->num_negotiated_codecs;
|
total_codecs = smh->num_negotiated_codecs;
|
||||||
|
@ -3278,6 +3285,7 @@ SWITCH_DECLARE(uint8_t) switch_core_media_negotiate_sdp(switch_core_session_t *s
|
||||||
|
|
||||||
match = 1;
|
match = 1;
|
||||||
a_engine->codec_negotiated = 1;
|
a_engine->codec_negotiated = 1;
|
||||||
|
smh->num_negotiated_codecs = 0;
|
||||||
|
|
||||||
for(j = 0; j < m_idx; j++) {
|
for(j = 0; j < m_idx; j++) {
|
||||||
payload_map_t *pmap = switch_core_media_add_payload_map(session,
|
payload_map_t *pmap = switch_core_media_add_payload_map(session,
|
||||||
|
@ -3329,7 +3337,6 @@ SWITCH_DECLARE(uint8_t) switch_core_media_negotiate_sdp(switch_core_session_t *s
|
||||||
pmap->rm_fmtp = switch_core_session_strdup(session, (char *) mmap->rm_fmtp);
|
pmap->rm_fmtp = switch_core_session_strdup(session, (char *) mmap->rm_fmtp);
|
||||||
|
|
||||||
pmap->agreed_pt = (switch_payload_t) mmap->rm_pt;
|
pmap->agreed_pt = (switch_payload_t) mmap->rm_pt;
|
||||||
smh->num_negotiated_codecs = 0;
|
|
||||||
smh->negotiated_codecs[smh->num_negotiated_codecs++] = mimp;
|
smh->negotiated_codecs[smh->num_negotiated_codecs++] = mimp;
|
||||||
pmap->recv_pt = (switch_payload_t)mmap->rm_pt;
|
pmap->recv_pt = (switch_payload_t)mmap->rm_pt;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue