• Home
  • Raw
  • Download

Lines Matching refs:psf

46 static int	wve_read_header (SF_PRIVATE *psf) ;
47 static int wve_write_header (SF_PRIVATE *psf, int calc_length) ;
48 static int wve_close (SF_PRIVATE *psf) ;
55 wve_open (SF_PRIVATE *psf) in wve_open() argument
58 if (psf->is_pipe) in wve_open()
61 if (psf->file.mode == SFM_READ || (psf->file.mode == SFM_RDWR && psf->filelength > 0)) in wve_open()
62 { if ((error = wve_read_header (psf))) in wve_open()
66 if (psf->file.mode == SFM_WRITE || psf->file.mode == SFM_RDWR) in wve_open()
67 { if ((SF_CONTAINER (psf->sf.format)) != SF_FORMAT_WVE) in wve_open()
70 psf->endian = SF_ENDIAN_BIG ; in wve_open()
72 if ((error = wve_write_header (psf, SF_FALSE))) in wve_open()
75 psf->write_header = wve_write_header ; in wve_open()
78 psf->blockwidth = psf->bytewidth * psf->sf.channels ; in wve_open()
80 psf->container_close = wve_close ; in wve_open()
82 error = alaw_init (psf) ; in wve_open()
91 wve_read_header (SF_PRIVATE *psf) in wve_read_header() argument
97 psf_binheader_readf (psf, "pm", 0, &marker) ; in wve_read_header()
99 { psf_log_printf (psf, "Could not find '%M'\n", ALAW_MARKER) ; in wve_read_header()
103 psf_binheader_readf (psf, "m", &marker) ; in wve_read_header()
105 { psf_log_printf (psf, "Could not find '%M'\n", SOUN_MARKER) ; in wve_read_header()
109 psf_binheader_readf (psf, "m", &marker) ; in wve_read_header()
111 { psf_log_printf (psf, "Could not find '%M'\n", DFIL_MARKER) ; in wve_read_header()
115 psf_binheader_readf (psf, "m", &marker) ; in wve_read_header()
117 { psf_log_printf (psf, "Could not find '%M'\n", ESSN_MARKER) ; in wve_read_header()
121 psf_binheader_readf (psf, "E2", &version) ; in wve_read_header()
123 psf_log_printf (psf, "Psion Palmtop Alaw (.wve)\n" in wve_read_header()
129 psf_log_printf (psf, "Psion version %d should be %d\n", version, PSION_VERSION) ; in wve_read_header()
131 psf_binheader_readf (psf, "E4", &datalength) ; in wve_read_header()
132 psf->dataoffset = PSION_DATAOFFSET ; in wve_read_header()
133 if (datalength != psf->filelength - psf->dataoffset) in wve_read_header()
134 { psf->datalength = psf->filelength - psf->dataoffset ; in wve_read_header()
135 psf_log_printf (psf, "Data length %d should be %D\n", datalength, psf->datalength) ; in wve_read_header()
138 psf->datalength = datalength ; in wve_read_header()
140 psf_binheader_readf (psf, "E22222", &padding, &repeats, &trash, &trash, &trash) ; in wve_read_header()
142 psf->sf.format = SF_FORMAT_WVE | SF_FORMAT_ALAW ; in wve_read_header()
143 psf->sf.samplerate = 8000 ; in wve_read_header()
144 psf->sf.frames = psf->datalength ; in wve_read_header()
145 psf->sf.channels = 1 ; in wve_read_header()
154 wve_write_header (SF_PRIVATE *psf, int calc_length) in wve_write_header() argument
158 current = psf_ftell (psf) ; in wve_write_header()
161 { psf->filelength = psf_get_filelen (psf) ; in wve_write_header()
163 psf->datalength = psf->filelength - psf->dataoffset ; in wve_write_header()
164 if (psf->dataend) in wve_write_header()
165 psf->datalength -= psf->filelength - psf->dataend ; in wve_write_header()
167 psf->sf.frames = psf->datalength / (psf->bytewidth * psf->sf.channels) ; in wve_write_header()
171 psf->header.ptr [0] = 0 ; in wve_write_header()
172 psf->header.indx = 0 ; in wve_write_header()
173 psf_fseek (psf, 0, SEEK_SET) ; in wve_write_header()
176 datalen = psf->datalength ; in wve_write_header()
177 …psf_binheader_writef (psf, "Emmmm", BHWm (ALAW_MARKER), BHWm (SOUN_MARKER), BHWm (DFIL_MARKER), BH… in wve_write_header()
178 …psf_binheader_writef (psf, "E2422222", BHW2 (PSION_VERSION), BHW4 (datalen), BHW2 (0), BHW2 (0), B… in wve_write_header()
179 psf_fwrite (psf->header.ptr, psf->header.indx, 1, psf) ; in wve_write_header()
181 if (psf->sf.channels != 1) in wve_write_header()
184 if (psf->error) in wve_write_header()
185 return psf->error ; in wve_write_header()
187 psf->dataoffset = psf->header.indx ; in wve_write_header()
190 psf_fseek (psf, current, SEEK_SET) ; in wve_write_header()
192 return psf->error ; in wve_write_header()
199 wve_close (SF_PRIVATE *psf) in wve_close() argument
201 if (psf->file.mode == SFM_WRITE || psf->file.mode == SFM_RDWR) in wve_close()
205 wve_write_header (psf, SF_TRUE) ; in wve_close()