- Timestamp:
- Dec 10, 2010 11:04:30 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/branches/projects/2.0-dev/pjmedia/src/pjmedia/wav_player.c
r2394 r3392 169 169 pj_ssize_t size_to_read, size_read; 170 170 struct file_reader_port *fport; 171 pjmedia_audio_format_detail *ad; 171 172 pj_off_t pos; 173 pj_str_t name; 174 unsigned samples_per_frame; 172 175 pj_status_t status = PJ_SUCCESS; 173 176 … … 332 335 333 336 /* Update port info. */ 334 fport->base.info.channel_count = wave_hdr.fmt_hdr.nchan; 335 fport->base.info.clock_rate = wave_hdr.fmt_hdr.sample_rate; 336 fport->base.info.bits_per_sample = BITS_PER_SAMPLE; 337 fport->base.info.samples_per_frame = fport->base.info.clock_rate * 338 wave_hdr.fmt_hdr.nchan * 339 ptime / 1000; 340 fport->base.info.bytes_per_frame = 341 fport->base.info.samples_per_frame * 342 fport->base.info.bits_per_sample / 8; 343 344 pj_strdup2(pool, &fport->base.info.name, filename); 337 ad = pjmedia_format_get_audio_format_detail(&fport->base.info.fmt, 1); 338 pj_strdup2(pool, &name, filename); 339 samples_per_frame = ptime * wave_hdr.fmt_hdr.sample_rate * 340 wave_hdr.fmt_hdr.nchan / 1000; 341 pjmedia_port_info_init(&fport->base.info, &name, SIGNATURE, 342 wave_hdr.fmt_hdr.sample_rate, 343 wave_hdr.fmt_hdr.nchan, 344 BITS_PER_SAMPLE, 345 samples_per_frame); 345 346 346 347 /* If file is shorter than buffer size, adjust buffer size to file … … 359 360 * doesn't handle this case). 360 361 */ 361 if (fport->base.info.samples_per_frame * fport->bytes_per_sample >= 362 fport->bufsize) 363 { 362 if (samples_per_frame * fport->bytes_per_sample >= fport->bufsize) { 364 363 pj_file_close(fport->fd); 365 364 return PJ_EINVAL; … … 395 394 (int)fport->base.info.name.slen, 396 395 fport->base.info.name.ptr, 397 fport->base.info.clock_rate,398 fport->base.info.channel_count,396 ad->clock_rate, 397 ad->channel_count, 399 398 fport->bufsize / 1000, 400 399 (unsigned long)(fport->fsize / 1000)));
Note: See TracChangeset
for help on using the changeset viewer.