Ignore:
Timestamp:
Jul 19, 2011 3:42:28 AM (13 years ago)
Author:
nanang
Message:

Re #1326: Initial code integration from branch 2.0-dev to trunk as "2.0-pre-alpha-svn".

Location:
pjproject/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk

  • pjproject/trunk/pjmedia/src/pjmedia/echo_port.c

    r3553 r3664  
    2727 
    2828#define THIS_FILE   "ec_port.c" 
    29 #define SIGNATURE   PJMEDIA_PORT_SIGNATURE('E', 'C', 'H', 'O') 
     29#define SIGNATURE   PJMEDIA_SIG_PORT_ECHO 
    3030#define BUF_COUNT   32 
    3131 
     
    3939 
    4040static pj_status_t ec_put_frame(pjmedia_port *this_port,  
    41                                 const pjmedia_frame *frame); 
     41                                pjmedia_frame *frame); 
    4242static pj_status_t ec_get_frame(pjmedia_port *this_port,  
    4343                                pjmedia_frame *frame); 
     
    5353{ 
    5454    const pj_str_t AEC = { "EC", 2 }; 
     55    pjmedia_audio_format_detail *afd; 
    5556    struct ec *ec; 
    5657    pj_status_t status; 
    5758 
    5859    PJ_ASSERT_RETURN(pool && dn_port && p_port, PJ_EINVAL); 
    59     PJ_ASSERT_RETURN(dn_port->info.bits_per_sample==16 && tail_ms,  
     60 
     61    afd = pjmedia_format_get_audio_format_detail(&dn_port->info.fmt, PJ_TRUE); 
     62 
     63    PJ_ASSERT_RETURN(afd->bits_per_sample==16 && tail_ms, 
    6064                     PJ_EINVAL); 
    6165 
     
    6468     
    6569    pjmedia_port_info_init(&ec->base.info, &AEC, SIGNATURE, 
    66                            dn_port->info.clock_rate,  
    67                            dn_port->info.channel_count,  
    68                            dn_port->info.bits_per_sample, 
    69                            dn_port->info.samples_per_frame); 
     70                           afd->clock_rate, 
     71                           afd->channel_count, 
     72                           afd->bits_per_sample, 
     73                           PJMEDIA_AFD_SPF(afd)); 
    7074 
    71     status = pjmedia_echo_create2(pool, dn_port->info.clock_rate,  
    72                                   dn_port->info.channel_count, 
    73                                   dn_port->info.samples_per_frame, 
     75    status = pjmedia_echo_create2(pool, afd->clock_rate, 
     76                                  afd->channel_count, 
     77                                  PJMEDIA_AFD_SPF(afd), 
    7478                                  tail_ms, latency_ms, options, &ec->ec); 
    7579    if (status != PJ_SUCCESS) 
     
    9094 
    9195static pj_status_t ec_put_frame( pjmedia_port *this_port,  
    92                                  const pjmedia_frame *frame) 
     96                                 pjmedia_frame *frame) 
    9397{ 
    9498    struct ec *ec = (struct ec*)this_port; 
     
    100104    } 
    101105 
    102     PJ_ASSERT_RETURN(frame->size == this_port->info.samples_per_frame * 2, 
     106    PJ_ASSERT_RETURN(frame->size == PJMEDIA_PIA_AVG_FSZ(&this_port->info), 
    103107                     PJ_EINVAL); 
    104108 
     
    120124    if (status!=PJ_SUCCESS || frame->type!=PJMEDIA_FRAME_TYPE_AUDIO) { 
    121125        pjmedia_zero_samples((pj_int16_t*)frame->buf,  
    122                              this_port->info.samples_per_frame); 
     126                              PJMEDIA_PIA_SPF(&this_port->info)); 
    123127    } 
    124128 
Note: See TracChangeset for help on using the changeset viewer.