• Home
  • Raw
  • Download

Lines Matching refs:psf

66 static	int		ircam_close			(SF_PRIVATE *psf) ;
67 static int ircam_write_header (SF_PRIVATE *psf, int calc_length) ;
68 static int ircam_read_header (SF_PRIVATE *psf) ;
79 ircam_open (SF_PRIVATE *psf) in ircam_open() argument
83 if (psf->file.mode == SFM_READ || (psf->file.mode == SFM_RDWR && psf->filelength > 0)) in ircam_open()
84 { if ((error = ircam_read_header (psf))) in ircam_open()
88 subformat = SF_CODEC (psf->sf.format) ; in ircam_open()
90 if (psf->file.mode == SFM_WRITE || psf->file.mode == SFM_RDWR) in ircam_open()
91 { if ((SF_CONTAINER (psf->sf.format)) != SF_FORMAT_IRCAM) in ircam_open()
94 psf->endian = SF_ENDIAN (psf->sf.format) ; in ircam_open()
95 if (psf->endian == 0 || psf->endian == SF_ENDIAN_CPU) in ircam_open()
96 psf->endian = (CPU_IS_BIG_ENDIAN) ? SF_ENDIAN_BIG : SF_ENDIAN_LITTLE ; in ircam_open()
98 psf->dataoffset = IRCAM_DATA_OFFSET ; in ircam_open()
100 if ((error = ircam_write_header (psf, SF_FALSE))) in ircam_open()
103 psf->write_header = ircam_write_header ; in ircam_open()
106 psf->container_close = ircam_close ; in ircam_open()
110 error = ulaw_init (psf) ; in ircam_open()
114 error = alaw_init (psf) ; in ircam_open()
119 error = pcm_init (psf) ; in ircam_open()
123 error = float32_init (psf) ; in ircam_open()
136 ircam_read_header (SF_PRIVATE *psf) in ircam_read_header() argument
141 psf_binheader_readf (psf, "epmf44", 0, &marker, &samplerate, &(psf->sf.channels), &encoding) ; in ircam_read_header()
144 { psf_log_printf (psf, "marker: 0x%X\n", marker) ; in ircam_read_header()
148 psf->endian = SF_ENDIAN_LITTLE ; in ircam_read_header()
150 if (psf->sf.channels > SF_MAX_CHANNELS) in ircam_read_header()
151 { psf_binheader_readf (psf, "Epmf44", 0, &marker, &samplerate, &(psf->sf.channels), &encoding) ; in ircam_read_header()
154 if (psf->sf.channels > SF_MAX_CHANNELS) in ircam_read_header()
155 { psf_log_printf (psf, "marker: 0x%X\n", marker) ; in ircam_read_header()
159 psf->endian = SF_ENDIAN_BIG ; in ircam_read_header()
162 psf_log_printf (psf, "marker: 0x%X\n", marker) ; in ircam_read_header()
164 psf->sf.samplerate = (int) samplerate ; in ircam_read_header()
166 psf_log_printf (psf, " Sample Rate : %d\n" in ircam_read_header()
169 psf->sf.samplerate, psf->sf.channels, encoding, get_encoding_str (encoding)) ; in ircam_read_header()
173 psf->bytewidth = 2 ; in ircam_read_header()
174 psf->blockwidth = psf->sf.channels * psf->bytewidth ; in ircam_read_header()
176 psf->sf.format = SF_FORMAT_IRCAM | SF_FORMAT_PCM_16 ; in ircam_read_header()
180 psf->bytewidth = 4 ; in ircam_read_header()
181 psf->blockwidth = psf->sf.channels * psf->bytewidth ; in ircam_read_header()
183 psf->sf.format = SF_FORMAT_IRCAM | SF_FORMAT_PCM_32 ; in ircam_read_header()
187 psf->bytewidth = 4 ; in ircam_read_header()
188 psf->blockwidth = psf->sf.channels * psf->bytewidth ; in ircam_read_header()
190 psf->sf.format = SF_FORMAT_IRCAM | SF_FORMAT_FLOAT ; in ircam_read_header()
194 psf->bytewidth = 1 ; in ircam_read_header()
195 psf->blockwidth = psf->sf.channels * psf->bytewidth ; in ircam_read_header()
197 psf->sf.format = SF_FORMAT_IRCAM | SF_FORMAT_ALAW ; in ircam_read_header()
201 psf->bytewidth = 1 ; in ircam_read_header()
202 psf->blockwidth = psf->sf.channels * psf->bytewidth ; in ircam_read_header()
204 psf->sf.format = SF_FORMAT_IRCAM | SF_FORMAT_ULAW ; in ircam_read_header()
212 if (psf->endian == SF_ENDIAN_BIG) in ircam_read_header()
213 psf->sf.format |= SF_ENDIAN_BIG ; in ircam_read_header()
215 psf->sf.format |= SF_ENDIAN_LITTLE ; in ircam_read_header()
220 psf->dataoffset = IRCAM_DATA_OFFSET ; in ircam_read_header()
221 psf->datalength = psf->filelength - psf->dataoffset ; in ircam_read_header()
223 if (psf->sf.frames == 0 && psf->blockwidth) in ircam_read_header()
224 psf->sf.frames = psf->datalength / psf->blockwidth ; in ircam_read_header()
226 psf_log_printf (psf, " Samples : %d\n", psf->sf.frames) ; in ircam_read_header()
228 psf_binheader_readf (psf, "p", IRCAM_DATA_OFFSET) ; in ircam_read_header()
234 ircam_close (SF_PRIVATE *psf) in ircam_close() argument
236 psf_log_printf (psf, "close\n") ; in ircam_close()
242 ircam_write_header (SF_PRIVATE *psf, int UNUSED (calc_length)) in ircam_write_header() argument
247 if (psf->pipeoffset > 0) in ircam_write_header()
250 current = psf_ftell (psf) ; in ircam_write_header()
253 encoding = get_encoding (SF_CODEC (psf->sf.format)) ; in ircam_write_header()
259 psf->header.ptr [0] = 0 ; in ircam_write_header()
260 psf->header.indx = 0 ; in ircam_write_header()
262 if (psf->is_pipe == SF_FALSE) in ircam_write_header()
263 psf_fseek (psf, 0, SEEK_SET) ; in ircam_write_header()
265 samplerate = psf->sf.samplerate ; in ircam_write_header()
267 switch (psf->endian) in ircam_write_header()
269 psf_binheader_writef (psf, "Emf", BHWm (IRCAM_02B_MARKER), BHWf (samplerate)) ; in ircam_write_header()
270 psf_binheader_writef (psf, "E44", BHW4 (psf->sf.channels), BHW4 (encoding)) ; in ircam_write_header()
274 psf_binheader_writef (psf, "emf", BHWm (IRCAM_03L_MARKER), BHWf (samplerate)) ; in ircam_write_header()
275 psf_binheader_writef (psf, "e44", BHW4 (psf->sf.channels), BHW4 (encoding)) ; in ircam_write_header()
281 psf_binheader_writef (psf, "z", BHWz ((size_t) (IRCAM_DATA_OFFSET - psf->header.indx))) ; in ircam_write_header()
284 psf_fwrite (psf->header.ptr, psf->header.indx, 1, psf) ; in ircam_write_header()
286 if (psf->error) in ircam_write_header()
287 return psf->error ; in ircam_write_header()
290 psf_fseek (psf, current, SEEK_SET) ; in ircam_write_header()
292 return psf->error ; in ircam_write_header()