Ignore:
Timestamp:
Feb 9, 2009 10:39:58 AM (15 years ago)
Author:
nanang
Message:
  • Added support for codec ILBC, G729, and AMR.
  • Updated audio switch board to make user possible to update its port 0 (master port) attributes, this is needed since sound device need to be reopened (e.g: for changing ptime or codec) while conf is not recreated.
  • Added new API to AMR helper to resolve mode/frame-type based on frame len.
  • Updated pmedia_frame_ext helper functions for a bit optimization.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/branches/projects/aps-direct/pjsip-apps/src/symbian_ua/ua.cpp

    r2439 r2444  
    281281        return; 
    282282 
     283    /* Init sound device setting based on stream info. */ 
    283284    pj_bzero(&setting, sizeof(setting)); 
    284285    setting.format = strm_info->param->info.format; 
     
    287288    setting.vad = strm_info->param->setting.vad; 
    288289    setting.plc = strm_info->param->setting.plc; 
     290    if (setting.format.u32 == PJMEDIA_FOURCC_ILBC) { 
     291        unsigned i; 
     292        pjmedia_codec_fmtp *fmtp = &strm_info->param->setting.dec_fmtp; 
     293         
     294        /* Initialize mode. */ 
     295        setting.mode = 30; 
     296         
     297        /* Get mode. */ 
     298        for (i = 0; i < fmtp->cnt; ++i) { 
     299            if (pj_stricmp2(&fmtp->param[i].name, "mode") == 0) { 
     300                setting.mode = (pj_uint32_t) pj_strtoul(&fmtp->param[i].val); 
     301                break; 
     302            } 
     303        } 
     304    } 
     305 
     306    samples_per_frame = strm_info->param->info.clock_rate * 
     307                        strm_info->param->info.frm_ptime * 
     308                        strm_info->param->info.channel_cnt / 
     309                        1000; 
     310     
     311    /* Close sound device. */ 
     312    conf = pjsua_set_no_snd_dev(); 
     313     
     314    /* Reset conference attributes. */ 
     315    conf->info.samples_per_frame = samples_per_frame; 
     316    conf->info.clock_rate = 8000; 
     317    conf->info.channel_count = 1; 
     318    conf->info.bits_per_sample = 16; 
    289319 
    290320    /* Reopen sound device. */ 
    291     conf = pjsua_set_no_snd_dev(); 
    292  
    293     samples_per_frame = conf->info.samples_per_frame; 
    294      
    295321    status = pjmedia_snd_port_create2(app_pool,  
    296322                                      PJMEDIA_DIR_CAPTURE_PLAYBACK, 
Note: See TracChangeset for help on using the changeset viewer.