summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2008-06-26 15:48:14 +0000
committerBenny Prijono <bennylp@teluu.com>2008-06-26 15:48:14 +0000
commitcff6c1ad2afd0ad64ee562fa80e078a876b38812 (patch)
tree0402d2400dc67ba448211453824fc105e5d7dcdc
parent4012aae3e4d73758ee47ed9978ff537c9912d0f9 (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.c3
-rw-r--r--pjsip-apps/src/pjsua/pjsua_app.c5
-rw-r--r--pjsip/src/pjsua-lib/pjsua_media.c8
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)