Lines Matching refs:wav

54 	   the number of frames of the wav file or the number of frames of the
55 wav file when doing direct analysis (--local) */
105 /* Read header of RIFF wav file */
117 /* Read chunks in RIFF wav file */
162 void prepare_wav_info(struct wav_container *wav, struct bat *bat)
164 wav->header.magic = WAV_RIFF;
165 wav->header.type = WAV_WAVE;
166 wav->format.magic = WAV_FMT;
167 wav->format.fmt_size = 16;
168 wav->format.format = WAV_FORMAT_PCM;
169 wav->format.channels = bat->channels;
170 wav->format.sample_rate = bat->rate;
171 wav->format.sample_length = bat->sample_size * 8;
172 wav->format.blocks_align = bat->channels * bat->sample_size;
173 wav->format.bytes_p_second = wav->format.blocks_align * bat->rate;
174 wav->chunk.length = bat->frames * bat->frame_size;
175 wav->chunk.type = WAV_DATA;
176 wav->header.length = (wav->chunk.length) + sizeof(wav->chunk)
177 + sizeof(wav->format) + sizeof(wav->header) - 8;
180 int write_wav_header(FILE *fp, struct wav_container *wav, struct bat *bat)
184 err = fwrite(&wav->header, 1, sizeof(wav->header), fp);
185 if (err != sizeof(wav->header)) {
189 err = fwrite(&wav->format, 1, sizeof(wav->format), fp);
190 if (err != sizeof(wav->format)) {
194 err = fwrite(&wav->chunk, 1, sizeof(wav->chunk), fp);
195 if (err != sizeof(wav->chunk)) {
203 /* update wav header when data size changed */
207 struct wav_container wav;
209 prepare_wav_info(&wav, bat);
210 wav.chunk.length = bytes;
211 wav.header.length = (wav.chunk.length) + sizeof(wav.chunk)
212 + sizeof(wav.format) + sizeof(wav.header) - 8;
214 err = write_wav_header(fp, &wav, bat);