Changeset 518 for pjproject/trunk/pjmedia/src/pjmedia/wav_player.c
- Timestamp:
- Jun 18, 2006 2:02:36 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/pjmedia/src/pjmedia/wav_player.c
r480 r518 56 56 { 57 57 pjmedia_port base; 58 unsigned options; 59 pj_bool_t eof; 58 60 pj_size_t bufsize; 59 61 char *buf; … … 114 116 pj_ssize_t size; 115 117 pj_status_t status; 118 119 if (fport->eof) { 120 return PJ_EEOF; 121 } 116 122 117 123 while (size_left > 0) { … … 136 142 */ 137 143 if (size < (pj_ssize_t)size_to_read) { 138 PJ_LOG(5,(THIS_FILE, "File port %.*s EOF, rewinding..", 139 (int)fport->base.info.name.slen, 140 fport->base.info.name.ptr)); 141 fport->fpos = sizeof(struct pjmedia_wave_hdr); 142 pj_file_setpos( fport->fd, fport->fpos, PJ_SEEK_SET); 144 if (fport->options & PJMEDIA_FILE_NO_LOOP) { 145 PJ_LOG(5,(THIS_FILE, "File port %.*s EOF, stopping..", 146 (int)fport->base.info.name.slen, 147 fport->base.info.name.ptr)); 148 fport->eof = PJ_TRUE; 149 return PJ_EEOF; 150 } else { 151 PJ_LOG(5,(THIS_FILE, "File port %.*s EOF, rewinding..", 152 (int)fport->base.info.name.slen, 153 fport->base.info.name.ptr)); 154 fport->fpos = sizeof(struct pjmedia_wave_hdr); 155 pj_file_setpos( fport->fd, fport->fpos, PJ_SEEK_SET); 156 } 143 157 } 144 158 } … … 157 171 const char *filename, 158 172 unsigned ptime, 159 unsigned flags,173 unsigned options, 160 174 pj_ssize_t buff_size, 161 175 void *user_data, … … 167 181 pj_status_t status; 168 182 169 170 PJ_UNUSED_ARG(flags);171 183 172 184 /* Check arguments. */ … … 261 273 /* Initialize */ 262 274 fport->base.user_data = user_data; 275 fport->options = options; 263 276 264 277 /* Update port info. */ … … 338 351 pj_file_setpos( fport->fd, fport->fpos, PJ_SEEK_SET); 339 352 353 fport->eof = PJ_FALSE; 340 354 return fill_buffer(fport); 341 355 } … … 385 399 386 400 status = fill_buffer(fport); 387 if (status != PJ_SUCCESS) 401 if (status != PJ_SUCCESS) { 402 frame->type = PJMEDIA_FRAME_TYPE_NONE; 403 frame->size = 0; 388 404 return status; 405 } 389 406 } 390 407 } else {
Note: See TracChangeset
for help on using the changeset viewer.