Changeset 4254 for pjproject/trunk/pjmedia/src/pjmedia/codec.c
- Timestamp:
- Sep 14, 2012 4:06:29 AM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/pjmedia/src/pjmedia/codec.c
r3664 r4254 42 42 43 43 /* 44 * Duplicate codec parameter. 45 */ 46 PJ_DEF(pjmedia_codec_param*) pjmedia_codec_param_clone( 47 pj_pool_t *pool, 48 const pjmedia_codec_param *src) 49 { 50 pjmedia_codec_param *p; 51 unsigned i; 52 53 PJ_ASSERT_RETURN(pool && src, NULL); 54 55 p = PJ_POOL_ZALLOC_T(pool, pjmedia_codec_param); 56 57 /* Update codec param */ 58 pj_memcpy(p, src, sizeof(pjmedia_codec_param)); 59 for (i = 0; i < src->setting.dec_fmtp.cnt; ++i) { 60 pj_strdup(pool, &p->setting.dec_fmtp.param[i].name, 61 &src->setting.dec_fmtp.param[i].name); 62 pj_strdup(pool, &p->setting.dec_fmtp.param[i].val, 63 &src->setting.dec_fmtp.param[i].val); 64 } 65 for (i = 0; i < src->setting.enc_fmtp.cnt; ++i) { 66 pj_strdup(pool, &p->setting.enc_fmtp.param[i].name, 67 &src->setting.enc_fmtp.param[i].name); 68 pj_strdup(pool, &p->setting.enc_fmtp.param[i].val, 69 &src->setting.enc_fmtp.param[i].val); 70 } 71 72 return p; 73 } 74 75 76 /* 44 77 * Initialize codec manager. 45 78 */ … … 601 634 p = codec_desc->param; 602 635 p->pool = pool; 603 p->param = PJ_POOL_ZALLOC_T(pool, pjmedia_codec_param);604 636 605 637 /* Update codec param */ 606 pj_memcpy(p->param, param, sizeof(pjmedia_codec_param)); 607 for (i = 0; i < param->setting.dec_fmtp.cnt; ++i) { 608 pj_strdup(pool, &p->param->setting.dec_fmtp.param[i].name, 609 ¶m->setting.dec_fmtp.param[i].name); 610 pj_strdup(pool, &p->param->setting.dec_fmtp.param[i].val, 611 ¶m->setting.dec_fmtp.param[i].val); 612 } 613 for (i = 0; i < param->setting.enc_fmtp.cnt; ++i) { 614 pj_strdup(pool, &p->param->setting.enc_fmtp.param[i].name, 615 ¶m->setting.enc_fmtp.param[i].name); 616 pj_strdup(pool, &p->param->setting.enc_fmtp.param[i].val, 617 ¶m->setting.enc_fmtp.param[i].val); 618 } 638 p->param = pjmedia_codec_param_clone(pool, param); 639 if (!p->param) 640 return PJ_EINVAL; 619 641 620 642 pj_mutex_unlock(mgr->mutex);
Note: See TracChangeset
for help on using the changeset viewer.