From c05e6f6d3a1ac90dd2930184aa895bc57d840536 Mon Sep 17 00:00:00 2001 From: Benny Prijono Date: Wed, 23 Jun 2010 12:38:28 +0000 Subject: Fixed #1079 (Media transport should be kept alive during double-hold scenario). Details: - now the stream will be destroyed but the media transport will be kept alive during doublehold scenario - small fix in SRTP to also negotiate crypto even when the media is marked as inactive, otherwise it's possible that an "optional" endpoint would create RTP/AVP offer and send it to "mandatory" endpoint, which would be rejected and cause the media port to be set to zero git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3219 74dad513-b988-da41-8d7b-12977e46ad98 --- pjsip/src/pjsua-lib/pjsua_call.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'pjsip/src/pjsua-lib/pjsua_call.c') diff --git a/pjsip/src/pjsua-lib/pjsua_call.c b/pjsip/src/pjsua-lib/pjsua_call.c index f3ca5cba..8cd8ce56 100644 --- a/pjsip/src/pjsua-lib/pjsua_call.c +++ b/pjsip/src/pjsua-lib/pjsua_call.c @@ -2184,7 +2184,12 @@ static void dump_media_session(const char *indent, rem_addr = rem_addr_buf; } - if (info.stream_info[i].dir == PJMEDIA_DIR_ENCODING) + if (call->media_dir == PJMEDIA_DIR_NONE) { + /* To handle when the stream that is currently being paused + * (http://trac.pjsip.org/repos/ticket/1079) + */ + dir = "inactive"; + } else if (info.stream_info[i].dir == PJMEDIA_DIR_ENCODING) dir = "sendonly"; else if (info.stream_info[i].dir == PJMEDIA_DIR_DECODING) dir = "recvonly"; -- cgit v1.2.3