From b2f8eb556125670d415fbded6b2a8bfc5c16c688 Mon Sep 17 00:00:00 2001 From: Riza Sulistyo Date: Wed, 23 Nov 2016 08:15:49 +0000 Subject: Re #1945: Change the error message on pjsua_media_channel_update() when unknown/unsupported media type is found. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@5489 74dad513-b988-da41-8d7b-12977e46ad98 --- pjmedia/include/pjmedia/errno.h | 6 +++++- pjmedia/src/pjmedia/errno.c | 1 + pjsip/src/pjsua-lib/pjsua_media.c | 13 ++++++++++--- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/pjmedia/include/pjmedia/errno.h b/pjmedia/include/pjmedia/errno.h index 063e5437..6692847a 100644 --- a/pjmedia/include/pjmedia/errno.h +++ b/pjmedia/include/pjmedia/errno.h @@ -406,7 +406,11 @@ PJ_BEGIN_DECL * Invalid or bad format */ #define PJMEDIA_EBADFMT (PJMEDIA_ERRNO_START+108) /* 220108 */ - +/** + * @hideinitializer + * Unsupported media type. + */ +#define PJMEDIA_EUNSUPMEDIATYPE (PJMEDIA_ERRNO_START+109) /* 220109 */ /************************************************************ * RTP SESSION ERRORS diff --git a/pjmedia/src/pjmedia/errno.c b/pjmedia/src/pjmedia/errno.c index a4584739..d14d1163 100644 --- a/pjmedia/src/pjmedia/errno.c +++ b/pjmedia/src/pjmedia/errno.c @@ -117,6 +117,7 @@ static const struct PJ_BUILD_ERR( PJMEDIA_RTP_EINDTMF, "Invalid DTMF digit" ), PJ_BUILD_ERR( PJMEDIA_RTP_EREMNORFC2833,"Remote does not support RFC 2833" ), PJ_BUILD_ERR( PJMEDIA_EBADFMT, "Bad format"), + PJ_BUILD_ERR( PJMEDIA_EUNSUPMEDIATYPE, "Unsupported media type"), /* RTP session errors. */ PJ_BUILD_ERR( PJMEDIA_RTP_EINPKT, "Invalid RTP packet" ), diff --git a/pjsip/src/pjsua-lib/pjsua_media.c b/pjsip/src/pjsua-lib/pjsua_media.c index 43b70baa..fe959907 100644 --- a/pjsip/src/pjsua-lib/pjsua_media.c +++ b/pjsip/src/pjsua-lib/pjsua_media.c @@ -3232,7 +3232,7 @@ pj_status_t pjsua_media_channel_update(pjsua_call_id call_id, #endif } else { - status = PJMEDIA_EINVALIMEDIATYPE; + status = PJMEDIA_EUNSUPMEDIATYPE; } /* Close the transport of deactivated media, need this here as media @@ -3261,8 +3261,15 @@ on_check_med_status: call_med->state = PJSUA_CALL_MEDIA_ERROR; call_med->dir = PJMEDIA_DIR_NONE; - PJ_PERROR(1,(THIS_FILE, status, "Error updating media call%02d:%d", - call_id, mi)); + if (status != PJMEDIA_EUNSUPMEDIATYPE) { + PJ_PERROR(1, (THIS_FILE, status, "Error updating media " + "call%02d:%d", call_id, mi)); + } else { + PJ_PERROR(3, (THIS_FILE, status, "Skipped updating media " + "call%02d:%d (media type=%s)", call_id, mi, + pjmedia_type_name(call_med->type))); + } + } else { /* Only set 'got_media' flag if this media is not disabled */ if (local_sdp->media[mi]->desc.port != 0) -- cgit v1.2.3