mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-05 20:55:26 +00:00
34 lines
1.2 KiB
Diff
34 lines
1.2 KiB
Diff
![]() |
diff --git a/pjmedia/src/pjmedia/sdp_neg.c b/pjmedia/src/pjmedia/sdp_neg.c
|
||
|
index 3b85b4273..a14009662 100644
|
||
|
--- a/pjmedia/src/pjmedia/sdp_neg.c
|
||
|
+++ b/pjmedia/src/pjmedia/sdp_neg.c
|
||
|
@@ -304,7 +304,6 @@ PJ_DEF(pj_status_t) pjmedia_sdp_neg_modify_local_offer2(
|
||
|
{
|
||
|
pjmedia_sdp_session *new_offer;
|
||
|
pjmedia_sdp_session *old_offer;
|
||
|
- char media_used[PJMEDIA_MAX_SDP_MEDIA];
|
||
|
unsigned oi; /* old offer media index */
|
||
|
pj_status_t status;
|
||
|
|
||
|
@@ -323,8 +322,19 @@ PJ_DEF(pj_status_t) pjmedia_sdp_neg_modify_local_offer2(
|
||
|
/* Change state to STATE_LOCAL_OFFER */
|
||
|
neg->state = PJMEDIA_SDP_NEG_STATE_LOCAL_OFFER;
|
||
|
|
||
|
+ /* When there is no active local SDP in state PJMEDIA_SDP_NEG_STATE_DONE,
|
||
|
+ * it means that the previous initial SDP nego must have been failed,
|
||
|
+ * so we'll just set the local SDP offer here.
|
||
|
+ */
|
||
|
+ if (!neg->active_local_sdp) {
|
||
|
+ neg->initial_sdp_tmp = NULL;
|
||
|
+ neg->initial_sdp = pjmedia_sdp_session_clone(pool, local);
|
||
|
+ neg->neg_local_sdp = pjmedia_sdp_session_clone(pool, local);
|
||
|
+
|
||
|
+ return PJ_SUCCESS;
|
||
|
+ }
|
||
|
+
|
||
|
/* Init vars */
|
||
|
- pj_bzero(media_used, sizeof(media_used));
|
||
|
old_offer = neg->active_local_sdp;
|
||
|
new_offer = pjmedia_sdp_session_clone(pool, local);
|
||
|
|