Ignore:
Timestamp:
Aug 24, 2010 10:45:01 AM (14 years ago)
Author:
nanang
Message:

Fix #1114:

  • Fixed bytes_per_frame calculation in stream port.
  • Fixed sample streamutil.c to use codec info/param for codec bandwidth calculation (was using bytes_per_frame info of stream port).
  • Doc fix for bytes_per_frame field in pjmedia_port_info.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip-apps/src/samples/streamutil.c

    r2408 r3292  
    9090 
    9191/* Prototype */ 
    92 static void print_stream_stat(pjmedia_stream *stream); 
     92static void print_stream_stat(pjmedia_stream *stream,  
     93                              const pjmedia_codec_param *codec_param); 
    9394 
    9495/* Prototype for LIBSRTP utility in file datatypes.c */ 
     
    274275    /* Default values */ 
    275276    const pjmedia_codec_info *codec_info; 
     277    pjmedia_codec_param codec_param; 
    276278    pjmedia_dir dir = PJMEDIA_DIR_DECODING; 
    277279    pj_sockaddr_in remote_addr; 
     
    488490        goto on_exit; 
    489491 
     492    /* Get codec default param for info */ 
     493    status = pjmedia_codec_mgr_get_default_param( 
     494                                    pjmedia_endpt_get_codec_mgr(med_endpt),  
     495                                    codec_info,  
     496                                    &codec_param); 
     497    /* Should be ok, as create_stream() above succeeded */ 
     498    pj_assert(status == PJ_SUCCESS); 
    490499 
    491500    /* Get the port interface of the stream */ 
     
    623632 
    624633        if (tmp[0] == 's') 
    625             print_stream_stat(stream); 
     634            print_stream_stat(stream, &codec_param); 
    626635        else if (tmp[0] == 'q') 
    627636            break; 
     
    724733 * Print stream statistics 
    725734 */ 
    726 static void print_stream_stat(pjmedia_stream *stream) 
     735static void print_stream_stat(pjmedia_stream *stream, 
     736                              const pjmedia_codec_param *codec_param) 
    727737{ 
    728738    char duration[80], last_update[80]; 
     
    753763        port->info.clock_rate, 
    754764        port->info.samples_per_frame * 1000 / port->info.clock_rate, 
    755         good_number(bps, port->info.bytes_per_frame * port->info.clock_rate / 
    756                     port->info.samples_per_frame), 
    757         good_number(ipbps, (port->info.bytes_per_frame+32) *  
    758                             port->info.clock_rate / port->info.clock_rate)); 
     765        good_number(bps, (codec_param->info.avg_bps+7)/8), 
     766        good_number(ipbps, ((codec_param->info.avg_bps+7)/8) +  
     767                           (40 * 1000 / 
     768                            codec_param->setting.frm_per_pkt / 
     769                            codec_param->info.frm_ptime))); 
    759770 
    760771    if (stat.rx.update_cnt == 0) 
Note: See TracChangeset for help on using the changeset viewer.