diff options
Diffstat (limited to 'pjmedia/src/pjmedia/codec.c')
-rw-r--r-- | pjmedia/src/pjmedia/codec.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/pjmedia/src/pjmedia/codec.c b/pjmedia/src/pjmedia/codec.c index 2d60d287..078ed4ee 100644 --- a/pjmedia/src/pjmedia/codec.c +++ b/pjmedia/src/pjmedia/codec.c @@ -148,6 +148,38 @@ PJ_DEF(pj_status_t) pjmedia_codec_mgr_alloc_codec(pjmedia_codec_mgr *mgr, return PJMEDIA_CODEC_EUNSUP; } + +/* + * Get default codec parameter. + */ +PJ_DEF(pj_status_t) pjmedia_codec_mgr_get_default_param( pjmedia_codec_mgr *mgr, + const pjmedia_codec_info *info, + pjmedia_codec_param *param ) +{ + pjmedia_codec_factory *factory; + pj_status_t status; + + PJ_ASSERT_RETURN(mgr && info && param, PJ_EINVAL); + + factory = mgr->factory_list.next; + while (factory != &mgr->factory_list) { + + if ( (*factory->op->test_alloc)(factory, info) == PJ_SUCCESS ) { + + status = (*factory->op->default_attr)(factory, info, param); + if (status == PJ_SUCCESS) + return PJ_SUCCESS; + + } + + factory = factory->next; + } + + + return PJMEDIA_CODEC_EUNSUP; +} + + /* * Dealloc codec. */ |