Ignore:
Timestamp:
Dec 28, 2007 6:55:02 PM (17 years ago)
Author:
bennylp
Message:

Ticket #435: Fixed and tested audio on Symbian device

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip-apps/src/symsndtest/app_main.cpp

    r1428 r1641  
    2929#define CHANNEL_COUNT           1 
    3030#define PTIME                   100 
    31 #define SAMPLES_PER_FRAME       (2048) 
     31#define SAMPLES_PER_FRAME       (80) 
    3232#define BITS_PER_SAMPLE         16 
    33  
     33#define LOOPBACK_BUFF_COUNT 100 
    3434 
    3535extern CConsoleBase* console; 
     
    4040static pj_time_val t_start; 
    4141 
     42 
     43static pj_int16_t buff_loopback[SAMPLES_PER_FRAME*LOOPBACK_BUFF_COUNT]; 
     44static pj_uint32_t pointer_w, pointer_r; 
    4245 
    4346/* Logging callback */ 
     
    7174    pj_log_set_log_func((void (*)(int,const char*,int)) &log_writer); 
    7275    pj_log_set_decor(PJ_LOG_HAS_NEWLINE); 
     76    pj_log_set_level(5); 
    7377     
    7478    /* Init pjlib */ 
     
    115119    PJ_UNUSED_ARG(input); 
    116120    PJ_UNUSED_ARG(size); 
     121 
     122    pj_memcpy(&buff_loopback[pointer_w*SAMPLES_PER_FRAME], input, size); 
     123 
     124    if (size != SAMPLES_PER_FRAME*2) { 
     125                PJ_LOG(3, (THIS_FILE, "Size captured = %u", 
     126                           size)); 
     127                pj_bzero(&buff_loopback[pointer_w*SAMPLES_PER_FRAME]+size/2, SAMPLES_PER_FRAME*2 - size); 
     128    } 
     129 
     130    if (++pointer_w >= LOOPBACK_BUFF_COUNT) { 
     131        pointer_w = 0; 
     132    } 
    117133     
    118134    ++rec_cnt; 
     
    129145    PJ_UNUSED_ARG(timestamp); 
    130146     
    131     pj_bzero(output, size); 
     147    //pj_bzero(output, size); 
     148    pj_memcpy(output, &buff_loopback[pointer_r*SAMPLES_PER_FRAME], SAMPLES_PER_FRAME*2); 
     149 
     150    if (++pointer_r >= LOOPBACK_BUFF_COUNT) { 
     151        pointer_r = 0; 
     152    } 
    132153     
    133154    ++play_cnt; 
     
    174195    } 
    175196 
     197    pointer_w = LOOPBACK_BUFF_COUNT/2; 
     198    pointer_r = 0; 
     199     
    176200    return PJ_SUCCESS; 
    177201} 
     
    298322    case 'p': 
    299323        snd_start(PJMEDIA_DIR_PLAYBACK); 
    300         break; 
     324    break; 
    301325    case 'c': 
    302326        snd_stop(); 
Note: See TracChangeset for help on using the changeset viewer.