Ignore:
Timestamp:
Jul 19, 2011 3:42:28 AM (11 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/wav_player.c

    r3553 r3664  
    3333 
    3434 
    35 #define SIGNATURE           PJMEDIA_PORT_SIGNATURE('F', 'P', 'l', 'y') 
     35#define SIGNATURE           PJMEDIA_SIG_PORT_WAV_PLAYER 
    3636#define BITS_PER_SAMPLE     16 
    3737 
     
    188188    pj_ssize_t size_to_read, size_read; 
    189189    struct file_reader_port *fport; 
     190    pjmedia_audio_format_detail *ad; 
    190191    pj_off_t pos; 
     192    pj_str_t name; 
     193    unsigned samples_per_frame; 
    191194    pj_status_t status = PJ_SUCCESS; 
    192195 
     
    353356 
    354357    /* Update port info. */ 
    355     fport->base.info.channel_count = wave_hdr.fmt_hdr.nchan; 
    356     fport->base.info.clock_rate = wave_hdr.fmt_hdr.sample_rate; 
    357     fport->base.info.bits_per_sample = BITS_PER_SAMPLE; 
    358     fport->base.info.samples_per_frame = fport->base.info.clock_rate * 
    359                                          wave_hdr.fmt_hdr.nchan * 
    360                                          ptime / 1000; 
    361     fport->base.info.bytes_per_frame =  
    362         fport->base.info.samples_per_frame *  
    363         fport->base.info.bits_per_sample / 8; 
    364  
    365     pj_strdup2(pool, &fport->base.info.name, filename); 
     358    ad = pjmedia_format_get_audio_format_detail(&fport->base.info.fmt, 1); 
     359    pj_strdup2(pool, &name, filename); 
     360    samples_per_frame = ptime * wave_hdr.fmt_hdr.sample_rate * 
     361                        wave_hdr.fmt_hdr.nchan / 1000; 
     362    pjmedia_port_info_init(&fport->base.info, &name, SIGNATURE, 
     363                           wave_hdr.fmt_hdr.sample_rate, 
     364                           wave_hdr.fmt_hdr.nchan, 
     365                           BITS_PER_SAMPLE, 
     366                           samples_per_frame); 
    366367 
    367368    /* If file is shorter than buffer size, adjust buffer size to file 
     
    380381     * doesn't handle this case). 
    381382     */ 
    382     if (fport->base.info.samples_per_frame * fport->bytes_per_sample >= 
    383         fport->bufsize) 
    384     { 
     383    if (samples_per_frame * fport->bytes_per_sample >= fport->bufsize) { 
    385384        pj_file_close(fport->fd); 
    386385        return PJ_EINVAL; 
     
    416415              (int)fport->base.info.name.slen, 
    417416              fport->base.info.name.ptr, 
    418               fport->base.info.clock_rate, 
    419               fport->base.info.channel_count, 
     417              ad->clock_rate, 
     418              ad->channel_count, 
    420419              fport->bufsize / 1000, 
    421420              (unsigned long)(fport->fsize / 1000))); 
Note: See TracChangeset for help on using the changeset viewer.