Changeset 3664 for pjproject/trunk/pjmedia/src/pjmedia/wav_player.c
- Timestamp:
- Jul 19, 2011 3:42:28 AM (13 years ago)
- Location:
- pjproject/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk
- Property svn:mergeinfo changed
-
pjproject/trunk/pjmedia/src/pjmedia/wav_player.c
r3553 r3664 33 33 34 34 35 #define SIGNATURE PJMEDIA_ PORT_SIGNATURE('F', 'P', 'l', 'y')35 #define SIGNATURE PJMEDIA_SIG_PORT_WAV_PLAYER 36 36 #define BITS_PER_SAMPLE 16 37 37 … … 188 188 pj_ssize_t size_to_read, size_read; 189 189 struct file_reader_port *fport; 190 pjmedia_audio_format_detail *ad; 190 191 pj_off_t pos; 192 pj_str_t name; 193 unsigned samples_per_frame; 191 194 pj_status_t status = PJ_SUCCESS; 192 195 … … 353 356 354 357 /* 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); 366 367 367 368 /* If file is shorter than buffer size, adjust buffer size to file … … 380 381 * doesn't handle this case). 381 382 */ 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) { 385 384 pj_file_close(fport->fd); 386 385 return PJ_EINVAL; … … 416 415 (int)fport->base.info.name.slen, 417 416 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, 420 419 fport->bufsize / 1000, 421 420 (unsigned long)(fport->fsize / 1000)));
Note: See TracChangeset
for help on using the changeset viewer.