Ignore:
Timestamp:
Nov 23, 2006 7:32:13 AM (17 years ago)
Author:
bennylp
Message:

Worked on the AEC. Apply constant delay bufferring for the AEC,
and also consider sound device latency when applying EC. It
sounds like working although it still doesn't perfectly cancel
the echo.

EC is now by default enabled in PJSUA.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjmedia/src/pjmedia/echo_common.c

    r655 r822  
    3838                            unsigned samples_per_frame, 
    3939                            unsigned tail_ms, 
     40                            unsigned latency_ms, 
    4041                            unsigned options, 
    4142                            void **p_state ); 
     
    6263                                      unsigned samples_per_frame, 
    6364                                      unsigned tail_ms, 
     65                                      unsigned latency_ms, 
    6466                                      unsigned options, 
    6567                                      void **p_state ); 
     
    9597                                      unsigned samples_per_frame, 
    9698                                      unsigned tail_ms, 
     99                                      unsigned latency_ms, 
    97100                                      unsigned options, 
    98101                                      void **p_state ); 
     
    131134                                         unsigned samples_per_frame, 
    132135                                         unsigned tail_ms, 
     136                                         unsigned latency_ms, 
    133137                                         unsigned options, 
    134138                                         pjmedia_echo_state **p_echo ) 
     
    146150    if (options & PJMEDIA_ECHO_SIMPLE) { 
    147151        ec->op = &echo_supp_op; 
    148         status = (*echo_supp_op.ec_create)(pool, clock_rate,  
    149                                            samples_per_frame, 
    150                                            tail_ms, options, 
     152        status = (*echo_supp_op.ec_create)(pool, clock_rate, samples_per_frame, 
     153                                           tail_ms, latency_ms, options, 
    151154                                           &ec->state); 
    152155    } else { 
     
    154157        status = (*aec_op.ec_create)(pool, clock_rate,  
    155158                                     samples_per_frame, 
    156                                      tail_ms, options, 
     159                                     tail_ms, latency_ms, options, 
    157160                                     &ec->state); 
    158161    } 
Note: See TracChangeset for help on using the changeset viewer.