• Home
  • Raw
  • Download

Lines Matching refs:psf

93 static	int		au_close		(SF_PRIVATE *psf) ;
97 static int au_write_header (SF_PRIVATE *psf, int calc_length) ;
98 static int au_read_header (SF_PRIVATE *psf) ;
105 au_open (SF_PRIVATE *psf) in au_open() argument
109 if (psf->file.mode == SFM_READ || (psf->file.mode == SFM_RDWR && psf->filelength > 0)) in au_open()
110 { if ((error = au_read_header (psf))) in au_open()
114 if ((SF_CONTAINER (psf->sf.format)) != SF_FORMAT_AU) in au_open()
117 subformat = SF_CODEC (psf->sf.format) ; in au_open()
119 if (psf->file.mode == SFM_WRITE || psf->file.mode == SFM_RDWR) in au_open()
120 { psf->endian = SF_ENDIAN (psf->sf.format) ; in au_open()
121 if (CPU_IS_LITTLE_ENDIAN && psf->endian == SF_ENDIAN_CPU) in au_open()
122 psf->endian = SF_ENDIAN_LITTLE ; in au_open()
123 else if (psf->endian != SF_ENDIAN_LITTLE) in au_open()
124 psf->endian = SF_ENDIAN_BIG ; in au_open()
126 if (au_write_header (psf, SF_FALSE)) in au_open()
127 return psf->error ; in au_open()
129 psf->write_header = au_write_header ; in au_open()
132 psf->container_close = au_close ; in au_open()
134 psf->blockwidth = psf->bytewidth * psf->sf.channels ; in au_open()
138 ulaw_init (psf) ; in au_open()
142 error = pcm_init (psf) ; in au_open()
148 error = pcm_init (psf) ; in au_open()
152 alaw_init (psf) ; in au_open()
157 error = float32_init (psf) ; in au_open()
161 error = double64_init (psf) ; in au_open()
165 error = g72x_init (psf) ; in au_open()
166 psf->sf.seekable = SF_FALSE ; in au_open()
170 error = g72x_init (psf) ; in au_open()
171 psf->sf.seekable = SF_FALSE ; in au_open()
175 error = g72x_init (psf) ; in au_open()
176 psf->sf.seekable = SF_FALSE ; in au_open()
190 au_close (SF_PRIVATE *psf) in au_close() argument
192 if (psf->file.mode == SFM_WRITE || psf->file.mode == SFM_RDWR) in au_close()
193 au_write_header (psf, SF_TRUE) ; in au_close()
199 au_write_header (SF_PRIVATE *psf, int calc_length) in au_write_header() argument
203 if (psf->pipeoffset > 0) in au_write_header()
206 current = psf_ftell (psf) ; in au_write_header()
209 { psf->filelength = psf_get_filelen (psf) ; in au_write_header()
211 psf->datalength = psf->filelength - psf->dataoffset ; in au_write_header()
212 if (psf->dataend) in au_write_header()
213 psf->datalength -= psf->filelength - psf->dataend ; in au_write_header()
216 encoding = au_format_to_encoding (SF_CODEC (psf->sf.format)) ; in au_write_header()
218 return (psf->error = SFE_BAD_OPEN_FORMAT) ; in au_write_header()
221 psf->header.ptr [0] = 0 ; in au_write_header()
222 psf->header.indx = 0 ; in au_write_header()
228 if (psf->is_pipe == SF_FALSE) in au_write_header()
229 psf_fseek (psf, 0, SEEK_SET) ; in au_write_header()
236 if (psf->datalength < 0 || psf->datalength > 0x7FFFFFFF) in au_write_header()
239 datalength = (int) (psf->datalength & 0x7FFFFFFF) ; in au_write_header()
241 if (psf->endian == SF_ENDIAN_BIG) in au_write_header()
242 { psf_binheader_writef (psf, "Em4", BHWm (DOTSND_MARKER), BHW4 (AU_DATA_OFFSET)) ; in au_write_header()
243 …psf_binheader_writef (psf, "E4444", BHW4 (datalength), BHW4 (encoding), BHW4 (psf->sf.samplerate),… in au_write_header()
245 else if (psf->endian == SF_ENDIAN_LITTLE) in au_write_header()
246 { psf_binheader_writef (psf, "em4", BHWm (DNSDOT_MARKER), BHW4 (AU_DATA_OFFSET)) ; in au_write_header()
247 …psf_binheader_writef (psf, "e4444", BHW4 (datalength), BHW4 (encoding), BHW4 (psf->sf.samplerate),… in au_write_header()
250 return (psf->error = SFE_BAD_OPEN_FORMAT) ; in au_write_header()
253 psf_fwrite (psf->header.ptr, psf->header.indx, 1, psf) ; in au_write_header()
255 if (psf->error) in au_write_header()
256 return psf->error ; in au_write_header()
258 psf->dataoffset = psf->header.indx ; in au_write_header()
261 psf_fseek (psf, current, SEEK_SET) ; in au_write_header()
263 return psf->error ; in au_write_header()
291 au_read_header (SF_PRIVATE *psf) in au_read_header() argument
296 psf_binheader_readf (psf, "pm", 0, &marker) ; in au_read_header()
297 psf_log_printf (psf, "%M\n", marker) ; in au_read_header()
300 { psf->endian = SF_ENDIAN_BIG ; in au_read_header()
302 psf_binheader_readf (psf, "E44444", &(au_fmt.dataoffset), &(au_fmt.datasize), in au_read_header()
306 { psf->endian = SF_ENDIAN_LITTLE ; in au_read_header()
307 psf_binheader_readf (psf, "e44444", &(au_fmt.dataoffset), &(au_fmt.datasize), in au_read_header()
313 psf_log_printf (psf, " Data Offset : %d\n", au_fmt.dataoffset) ; in au_read_header()
315 if (psf->fileoffset > 0 && au_fmt.datasize == -1) in au_read_header()
316 { psf_log_printf (psf, " Data Size : -1\n") ; in au_read_header()
320 if (psf->fileoffset > 0) in au_read_header()
321 { psf->filelength = au_fmt.dataoffset + au_fmt.datasize ; in au_read_header()
322 psf_log_printf (psf, " Data Size : %d\n", au_fmt.datasize) ; in au_read_header()
324 else if (au_fmt.datasize == -1 || au_fmt.dataoffset + au_fmt.datasize == psf->filelength) in au_read_header()
325 psf_log_printf (psf, " Data Size : %d\n", au_fmt.datasize) ; in au_read_header()
326 else if (au_fmt.dataoffset + au_fmt.datasize < psf->filelength) in au_read_header()
327 { psf->filelength = au_fmt.dataoffset + au_fmt.datasize ; in au_read_header()
328 psf_log_printf (psf, " Data Size : %d\n", au_fmt.datasize) ; in au_read_header()
331 { dword = psf->filelength - au_fmt.dataoffset ; in au_read_header()
332 psf_log_printf (psf, " Data Size : %d (should be %d)\n", au_fmt.datasize, dword) ; in au_read_header()
336 psf->dataoffset = au_fmt.dataoffset ; in au_read_header()
337 psf->datalength = psf->filelength - psf->dataoffset ; in au_read_header()
339 if (psf_ftell (psf) < psf->dataoffset) in au_read_header()
340 psf_binheader_readf (psf, "j", psf->dataoffset - psf_ftell (psf)) ; in au_read_header()
342 psf->sf.samplerate = au_fmt.samplerate ; in au_read_header()
343 psf->sf.channels = au_fmt.channels ; in au_read_header()
346 if (psf->endian == SF_ENDIAN_BIG) in au_read_header()
347 psf->sf.format = SF_FORMAT_AU ; in au_read_header()
348 else if (psf->endian == SF_ENDIAN_LITTLE) in au_read_header()
349 psf->sf.format = SF_ENDIAN_LITTLE | SF_FORMAT_AU ; in au_read_header()
351 psf_log_printf (psf, " Encoding : %d => ", au_fmt.encoding) ; in au_read_header()
353 psf->sf.format = SF_ENDIAN (psf->sf.format) ; in au_read_header()
357 psf->sf.format |= SF_FORMAT_AU | SF_FORMAT_ULAW ; in au_read_header()
358 psf->bytewidth = 1 ; /* Before decoding */ in au_read_header()
359 psf_log_printf (psf, "8-bit ISDN u-law\n") ; in au_read_header()
363 psf->sf.format |= SF_FORMAT_AU | SF_FORMAT_PCM_S8 ; in au_read_header()
364 psf->bytewidth = 1 ; in au_read_header()
365 psf_log_printf (psf, "8-bit linear PCM\n") ; in au_read_header()
369 psf->sf.format |= SF_FORMAT_AU | SF_FORMAT_PCM_16 ; in au_read_header()
370 psf->bytewidth = 2 ; in au_read_header()
371 psf_log_printf (psf, "16-bit linear PCM\n") ; in au_read_header()
375 psf->sf.format |= SF_FORMAT_AU | SF_FORMAT_PCM_24 ; in au_read_header()
376 psf->bytewidth = 3 ; in au_read_header()
377 psf_log_printf (psf, "24-bit linear PCM\n") ; in au_read_header()
381 psf->sf.format |= SF_FORMAT_AU | SF_FORMAT_PCM_32 ; in au_read_header()
382 psf->bytewidth = 4 ; in au_read_header()
383 psf_log_printf (psf, "32-bit linear PCM\n") ; in au_read_header()
387 psf->sf.format |= SF_FORMAT_AU | SF_FORMAT_FLOAT ; in au_read_header()
388 psf->bytewidth = 4 ; in au_read_header()
389 psf_log_printf (psf, "32-bit float\n") ; in au_read_header()
393 psf->sf.format |= SF_FORMAT_AU | SF_FORMAT_DOUBLE ; in au_read_header()
394 psf->bytewidth = 8 ; in au_read_header()
395 psf_log_printf (psf, "64-bit double precision float\n") ; in au_read_header()
399 psf->sf.format |= SF_FORMAT_AU | SF_FORMAT_ALAW ; in au_read_header()
400 psf->bytewidth = 1 ; /* Before decoding */ in au_read_header()
401 psf_log_printf (psf, "8-bit ISDN A-law\n") ; in au_read_header()
405 psf->sf.format |= SF_FORMAT_AU | SF_FORMAT_G721_32 ; in au_read_header()
406 psf->bytewidth = 0 ; in au_read_header()
407 psf_log_printf (psf, "G721 32kbs ADPCM\n") ; in au_read_header()
411 psf->sf.format |= SF_FORMAT_AU | SF_FORMAT_G723_24 ; in au_read_header()
412 psf->bytewidth = 0 ; in au_read_header()
413 psf_log_printf (psf, "G723 24kbs ADPCM\n") ; in au_read_header()
417 psf->sf.format |= SF_FORMAT_AU | SF_FORMAT_G723_40 ; in au_read_header()
418 psf->bytewidth = 0 ; in au_read_header()
419 psf_log_printf (psf, "G723 40kbs ADPCM\n") ; in au_read_header()
423 psf_log_printf (psf, "G722 64 kbs ADPCM (unsupported)\n") ; in au_read_header()
427 psf_log_printf (psf, "Weird NeXT encoding format (unsupported)\n") ; in au_read_header()
431 psf_log_printf (psf, "Unknown!!\n") ; in au_read_header()
435 psf_log_printf (psf, " Sample Rate : %d\n", au_fmt.samplerate) ; in au_read_header()
437 { psf_log_printf (psf, " Channels : %d **** should be >= 1\n", au_fmt.channels) ; in au_read_header()
441 …{ psf_log_printf (psf, " Channels : %d **** should be <= %d\n", au_fmt.channels, SF_MAX_CHANN… in au_read_header()
445 psf_log_printf (psf, " Channels : %d\n", au_fmt.channels) ; in au_read_header()
447 psf->blockwidth = psf->sf.channels * psf->bytewidth ; in au_read_header()
449 if (! psf->sf.frames && psf->blockwidth) in au_read_header()
450 psf->sf.frames = (psf->filelength - psf->dataoffset) / psf->blockwidth ; in au_read_header()