Lines Matching refs:state

128 static int parse_riff_chunk_header(struct parser_state *state,
133 state->be = true;
135 state->be = false;
139 if (state->be)
150 struct parser_state *state = cntr->private_data;
167 err = parse_riff_chunk_header(state, &buf.chunk, byte_count);
185 static int parse_wave_fmt_subchunk(struct parser_state *state,
188 if (state->be) {
189 state->format = be16toh(subchunk->format);
190 state->samples_per_frame = be16toh(subchunk->samples_per_frame);
191 state->frames_per_second = be32toh(subchunk->frames_per_second);
192 state->average_bytes_per_second =
194 state->bytes_per_frame = be16toh(subchunk->bytes_per_frame);
195 state->avail_bits_in_sample =
198 state->format = le16toh(subchunk->format);
199 state->samples_per_frame = le16toh(subchunk->samples_per_frame);
200 state->frames_per_second = le32toh(subchunk->frames_per_second);
201 state->average_bytes_per_second =
203 state->bytes_per_frame = le16toh(subchunk->bytes_per_frame);
204 state->avail_bits_in_sample =
208 if (state->average_bytes_per_second !=
209 state->bytes_per_frame * state->frames_per_second)
215 static int parse_wave_data_subchunk(struct parser_state *state,
218 if (state->be)
219 state->byte_count = be32toh(subchunk->size);
221 state->byte_count = le32toh(subchunk->size);
238 struct parser_state *state = cntr->private_data;
252 if (state->be)
292 err = parse_wave_fmt_subchunk(state,
295 err = parse_wave_data_subchunk(state,
349 struct parser_state *state = cntr->private_data;
359 phys_width = 8 * state->average_bytes_per_second /
360 state->samples_per_frame / state->frames_per_second;
364 if (state->format != map->wformat)
366 if ((int)state->avail_bits_in_sample !=
372 if (state->be && snd_pcm_format_big_endian(map->format) != 1)
382 *samples_per_frame = state->samples_per_frame;
383 *frames_per_second = state->frames_per_second;
384 *byte_count = state->byte_count;
426 struct builder_state *state)
429 state->bytes_per_sample * state->samples_per_frame;
430 unsigned int average_bytes_per_second = state->bytes_per_sample *
431 state->samples_per_frame * state->frames_per_second;
437 size, state->be);
439 if (state->be) {
440 subchunk->format = htobe16(state->format);
441 subchunk->samples_per_frame = htobe16(state->samples_per_frame);
442 subchunk->frames_per_second = htobe32(state->frames_per_second);
447 htobe16(state->avail_bits_in_sample);
449 subchunk->format = htole16(state->format);
450 subchunk->samples_per_frame = htole16(state->samples_per_frame);
451 subchunk->frames_per_second = htole32(state->frames_per_second);
456 htole16(state->avail_bits_in_sample);
470 struct builder_state *state = cntr->private_data;
488 build_riff_chunk_header(&buf.chunk, total_byte_count, state->be);
500 build_wave_format_subchunk(&buf.fmt_subchunk, state);
506 build_wave_data_subchunk(&buf.data_subchunk, byte_count, state->be);
516 struct builder_state *state = cntr->private_data;
527 state->format = format_maps[i].wformat;
528 state->avail_bits_in_sample = snd_pcm_format_width(*format);
529 state->bytes_per_sample = snd_pcm_format_physical_width(*format) / 8;
530 state->samples_per_frame = *samples_per_frame;
531 state->frames_per_second = *frames_per_second;
533 state->be = (snd_pcm_format_big_endian(*format) == 1);