Ignore:
Timestamp:
Apr 21, 2012 2:17:07 AM (12 years ago)
Author:
bennylp
Message:

Fixed #1492: The echo options field in the media config and pjsua_set_ec() argument are ignored

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/branches/1.x/pjmedia/src/pjmedia/sound_port.c

    r3963 r4065  
    5050    unsigned             bits_per_sample; 
    5151    unsigned             options; 
     52    unsigned             prm_ec_options; 
    5253 
    5354    /* software ec */ 
     
    178179 
    179180    return PJ_SUCCESS; 
     181} 
     182 
     183/* Initialize with default values (zero) */ 
     184PJ_DEF(void) pjmedia_snd_port_param_default(pjmedia_snd_port_param *prm) 
     185{ 
     186    pj_bzero(prm, sizeof(*prm)); 
    180187} 
    181188 
     
    270277             
    271278        status = pjmedia_snd_port_set_ec(snd_port, pool,  
    272                                          snd_port->aud_param.ec_tail_ms, 0); 
     279                                         snd_port->aud_param.ec_tail_ms, 
     280                                         snd_port->prm_ec_options); 
    273281        if (status != PJ_SUCCESS) { 
    274282            pjmedia_aud_stream_destroy(snd_port->aud_stream); 
     
    331339    pj_status_t status; 
    332340 
    333     PJ_UNUSED_ARG(options); 
     341    pjmedia_snd_port_param_default(&param); 
    334342 
    335343    status = pjmedia_aud_dev_default_param(rec_id, &param.base); 
     
    345353    param.base.bits_per_sample = bits_per_sample; 
    346354    param.options = options; 
     355    param.ec_options = 0; 
    347356 
    348357    return pjmedia_snd_port_create2(pool, &param, p_port); 
     
    364373    pj_status_t status; 
    365374 
    366     PJ_UNUSED_ARG(options); 
     375    pjmedia_snd_port_param_default(&param); 
    367376 
    368377    status = pjmedia_aud_dev_default_param(dev_id, &param.base); 
     
    377386    param.base.bits_per_sample = bits_per_sample; 
    378387    param.options = options; 
     388    param.ec_options = 0; 
    379389 
    380390    return pjmedia_snd_port_create2(pool, &param, p_port); 
     
    397407    pj_status_t status; 
    398408 
    399     PJ_UNUSED_ARG(options); 
     409    pjmedia_snd_port_param_default(&param); 
    400410 
    401411    status = pjmedia_aud_dev_default_param(dev_id, &param.base); 
     
    410420    param.base.bits_per_sample = bits_per_sample; 
    411421    param.options = options; 
     422    param.ec_options = 0; 
    412423 
    413424    return pjmedia_snd_port_create2(pool, &param, p_port); 
     
    437448    snd_port->samples_per_frame = prm->base.samples_per_frame; 
    438449    snd_port->bits_per_sample = prm->base.bits_per_sample; 
    439     pj_memcpy(&snd_port->aud_param, prm, sizeof(snd_port->aud_param)); 
     450    pj_memcpy(&snd_port->aud_param, &prm->base, sizeof(snd_port->aud_param)); 
    440451    snd_port->options = prm->options; 
     452    snd_port->prm_ec_options = prm->ec_options; 
    441453     
    442454    /* Start sound device immediately. 
Note: See TracChangeset for help on using the changeset viewer.