diff options
author | Benny Prijono <bennylp@teluu.com> | 2008-06-26 15:48:14 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2008-06-26 15:48:14 +0000 |
commit | cff6c1ad2afd0ad64ee562fa80e078a876b38812 (patch) | |
tree | 0402d2400dc67ba448211453824fc105e5d7dcdc | |
parent | 4012aae3e4d73758ee47ed9978ff537c9912d0f9 (diff) |
Specifying star in codec selection will select all codecs. Fixed the codec selection in codec.c to select all codecs when empty string is given.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2061 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r-- | pjmedia/src/pjmedia/codec.c | 3 | ||||
-rw-r--r-- | pjsip-apps/src/pjsua/pjsua_app.c | 5 | ||||
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_media.c | 8 |
3 files changed, 13 insertions, 3 deletions
diff --git a/pjmedia/src/pjmedia/codec.c b/pjmedia/src/pjmedia/codec.c index 2e22edcd..b8fe36ad 100644 --- a/pjmedia/src/pjmedia/codec.c +++ b/pjmedia/src/pjmedia/codec.c @@ -231,7 +231,8 @@ PJ_DEF(pj_status_t) pjmedia_codec_mgr_find_codecs_by_id( pjmedia_codec_mgr *mgr, for (i=0; i<mgr->codec_cnt; ++i) { - if (pj_strnicmp2(codec_id, mgr->codec_desc[i].id, + if (codec_id->slen == 0 || + pj_strnicmp2(codec_id, mgr->codec_desc[i].id, codec_id->slen) == 0) { diff --git a/pjsip-apps/src/pjsua/pjsua_app.c b/pjsip-apps/src/pjsua/pjsua_app.c index 97896b2f..ca0caad2 100644 --- a/pjsip-apps/src/pjsua/pjsua_app.c +++ b/pjsip-apps/src/pjsua/pjsua_app.c @@ -2773,9 +2773,10 @@ static void manage_codec_prio(void) } puts(""); - puts("Enter codec name and its new priority (e.g. \"speex/16000 200\"), empty to cancel:"); + puts("Enter codec id and its new priority " + "(e.g. \"speex/16000 200\"), empty to cancel:"); - printf("Codec name and priority: "); + printf("Codec name (\"*\" for all) and priority: "); fgets(input, sizeof(input), stdin); if (input[0]=='\r' || input[0]=='\n') { puts("Done"); diff --git a/pjsip/src/pjsua-lib/pjsua_media.c b/pjsip/src/pjsua-lib/pjsua_media.c index 91d3ecb9..7d2742f6 100644 --- a/pjsip/src/pjsua-lib/pjsua_media.c +++ b/pjsip/src/pjsua-lib/pjsua_media.c @@ -2227,10 +2227,14 @@ PJ_DEF(pj_status_t) pjsua_enum_codecs( pjsua_codec_info id[], PJ_DEF(pj_status_t) pjsua_codec_set_priority( const pj_str_t *codec_id, pj_uint8_t priority ) { + const pj_str_t all = { NULL, 0 }; pjmedia_codec_mgr *codec_mgr; codec_mgr = pjmedia_endpt_get_codec_mgr(pjsua_var.med_endpt); + if (codec_id->slen==1 && *codec_id->ptr=='*') + codec_id = &all; + return pjmedia_codec_mgr_set_codec_priority(codec_mgr, codec_id, priority); } @@ -2242,6 +2246,7 @@ PJ_DEF(pj_status_t) pjsua_codec_set_priority( const pj_str_t *codec_id, PJ_DEF(pj_status_t) pjsua_codec_get_param( const pj_str_t *codec_id, pjmedia_codec_param *param ) { + const pj_str_t all = { NULL, 0 }; const pjmedia_codec_info *info; pjmedia_codec_mgr *codec_mgr; unsigned count = 1; @@ -2249,6 +2254,9 @@ PJ_DEF(pj_status_t) pjsua_codec_get_param( const pj_str_t *codec_id, codec_mgr = pjmedia_endpt_get_codec_mgr(pjsua_var.med_endpt); + if (codec_id->slen==1 && *codec_id->ptr=='*') + codec_id = &all; + status = pjmedia_codec_mgr_find_codecs_by_id(codec_mgr, codec_id, &count, &info, NULL); if (status != PJ_SUCCESS) |