Lines Matching refs:spec
58 size_t pa_sample_size(const pa_sample_spec *spec) {
59 pa_assert(spec);
60 pa_assert(pa_sample_spec_valid(spec));
62 return size_table[spec->format];
65 size_t pa_frame_size(const pa_sample_spec *spec) {
66 pa_assert(spec);
67 pa_assert(pa_sample_spec_valid(spec));
69 return size_table[spec->format] * spec->channels;
72 size_t pa_bytes_per_second(const pa_sample_spec *spec) {
73 pa_assert(spec);
74 pa_assert(pa_sample_spec_valid(spec));
76 return spec->rate * size_table[spec->format] * spec->channels;
79 pa_usec_t pa_bytes_to_usec(uint64_t length, const pa_sample_spec *spec) {
80 pa_assert(spec);
81 pa_assert(pa_sample_spec_valid(spec));
83 return (((pa_usec_t) (length / (size_table[spec->format] * spec->channels)) * PA_USEC_PER_SEC) / spec->rate);
86 size_t pa_usec_to_bytes(pa_usec_t t, const pa_sample_spec *spec) {
87 pa_assert(spec);
88 pa_assert(pa_sample_spec_valid(spec));
90 return (size_t) (((t * spec->rate) / PA_USEC_PER_SEC)) * (size_table[spec->format] * spec->channels);
93 pa_sample_spec* pa_sample_spec_init(pa_sample_spec *spec) {
94 pa_assert(spec);
96 spec->format = PA_SAMPLE_INVALID;
97 spec->rate = 0;
98 spec->channels = 0;
100 return spec;
118 int pa_sample_spec_valid(const pa_sample_spec *spec) {
119 pa_assert(spec);
121 if (PA_UNLIKELY(!pa_sample_rate_valid(spec->rate) ||
122 !pa_channels_valid(spec->channels) ||
123 !pa_sample_format_valid(spec->format)))
169 char *pa_sample_spec_snprint(char *s, size_t l, const pa_sample_spec *spec) {
172 pa_assert(spec);
176 if (!pa_sample_spec_valid(spec))
179 pa_snprintf(s, l, _("%s %uch %uHz"), pa_sample_format_to_string(spec->format), spec->channels, spec->rate);