Skip to content

Commit a0ca213

Browse files
authored
Fix audio stream conf slot info in call info when the stream is inactive (#4478)
When an audio stream is created as inactive (i.e: SDP `a=inactive` & `port != 0`), the `conf_slot` field in call info is set to 0 which is ambiguous (port 0 is sound device port in conf bridge), it should be `-1/PJSUA_INVALID_ID`.
1 parent edde06f commit a0ca213

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

pjsip/src/pjsua-lib/pjsua_call.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2569,6 +2569,10 @@ PJ_DEF(pj_status_t) pjsua_call_get_info( pjsua_call_id call_id,
25692569
info->media_status = call->media[call->audio_idx].state;
25702570
info->media_dir = call->media[call->audio_idx].dir;
25712571
info->conf_slot = call->media[call->audio_idx].strm.a.conf_slot;
2572+
} else {
2573+
info->media_status = PJSUA_CALL_MEDIA_NONE;
2574+
info->media_dir = PJMEDIA_DIR_NONE;
2575+
info->conf_slot = PJSUA_INVALID_ID;
25722576
}
25732577

25742578
/* Build array of provisional media info */

pjsip/src/pjsua-lib/pjsua_media.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4123,7 +4123,7 @@ static pj_status_t apply_med_update(pjsua_call_media *call_med,
41234123
}
41244124

41254125
if (call->audio_idx==-1 && status==PJ_SUCCESS &&
4126-
si->dir != PJMEDIA_DIR_NONE)
4126+
call_med->tp && local_sdp->media[mi]->desc.port != 0)
41274127
{
41284128
call->audio_idx = mi;
41294129
}

0 commit comments

Comments
 (0)