Ignore:
Timestamp:
Dec 26, 2006 9:18:11 PM (14 years ago)
Author:
bennylp
Message:

Ticket #54: added ability to modify some codec parameters on the fly

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjmedia/src/pjmedia-codec/gsm.c

    r627 r867  
    5555                                    pj_pool_t *pool ); 
    5656static pj_status_t  gsm_codec_open( pjmedia_codec *codec,  
    57                                     pjmedia_codec_param *attr ); 
     57                                    const pjmedia_codec_param *attr ); 
    5858static pj_status_t  gsm_codec_close( pjmedia_codec *codec ); 
     59static pj_status_t  gsm_codec_modify(pjmedia_codec *codec,  
     60                                     const pjmedia_codec_param *attr ); 
    5961static pj_status_t  gsm_codec_parse( pjmedia_codec *codec, 
    6062                                     void *pkt, 
     
    8183    &gsm_codec_open, 
    8284    &gsm_codec_close, 
     85    &gsm_codec_modify, 
    8386    &gsm_codec_parse, 
    8487    &gsm_codec_encode, 
     
    386389 */ 
    387390static pj_status_t gsm_codec_open( pjmedia_codec *codec,  
    388                                    pjmedia_codec_param *attr ) 
     391                                   const pjmedia_codec_param *attr ) 
    389392{ 
    390393    struct gsm_data *gsm_data = codec->codec_data; 
     
    392395    pj_assert(gsm_data != NULL); 
    393396    pj_assert(gsm_data->encoder == NULL && gsm_data->decoder == NULL); 
    394  
    395     PJ_UNUSED_ARG(attr); 
    396397 
    397398    gsm_data->encoder = gsm_create(); 
     
    426427        gsm_data->decoder = NULL; 
    427428    } 
     429 
     430    return PJ_SUCCESS; 
     431} 
     432 
     433 
     434/* 
     435 * Modify codec settings. 
     436 */ 
     437static pj_status_t  gsm_codec_modify(pjmedia_codec *codec,  
     438                                     const pjmedia_codec_param *attr ) 
     439{ 
     440    struct gsm_data *gsm_data = codec->codec_data; 
     441 
     442    pj_assert(gsm_data != NULL); 
     443    pj_assert(gsm_data->encoder == NULL && gsm_data->decoder == NULL); 
     444 
     445    gsm_data->vad_enabled = (attr->setting.vad != 0); 
     446    gsm_data->plc_enabled = (attr->setting.plc != 0); 
    428447 
    429448    return PJ_SUCCESS; 
Note: See TracChangeset for help on using the changeset viewer.