mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-04 13:29:59 -05:00
add pa_sample_size_of_format()
This commit is contained in:
parent
32e5e64921
commit
ce76216bce
3 changed files with 15 additions and 2 deletions
|
|
@ -181,6 +181,7 @@ pa_proplist_unset_many;
|
|||
pa_proplist_update;
|
||||
pa_sample_format_to_string;
|
||||
pa_sample_size;
|
||||
pa_sample_size_of_format;
|
||||
pa_sample_spec_equal;
|
||||
pa_sample_spec_init;
|
||||
pa_sample_spec_snprint;
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@
|
|||
|
||||
#include "sample.h"
|
||||
|
||||
size_t pa_sample_size(const pa_sample_spec *spec) {
|
||||
size_t pa_sample_size_of_format(pa_sample_format_t f) {
|
||||
|
||||
static const size_t table[] = {
|
||||
[PA_SAMPLE_U8] = 1,
|
||||
|
|
@ -54,10 +54,18 @@ size_t pa_sample_size(const pa_sample_spec *spec) {
|
|||
[PA_SAMPLE_S24_32BE] = 4
|
||||
};
|
||||
|
||||
pa_assert(f >= 0);
|
||||
pa_assert(f < PA_SAMPLE_MAX);
|
||||
|
||||
return table[f];
|
||||
}
|
||||
|
||||
size_t pa_sample_size(const pa_sample_spec *spec) {
|
||||
|
||||
pa_assert(spec);
|
||||
pa_return_val_if_fail(pa_sample_spec_valid(spec), 0);
|
||||
|
||||
return table[spec->format];
|
||||
return pa_sample_size_of_format(spec->format);
|
||||
}
|
||||
|
||||
size_t pa_frame_size(const pa_sample_spec *spec) {
|
||||
|
|
|
|||
|
|
@ -261,6 +261,10 @@ size_t pa_frame_size(const pa_sample_spec *spec) PA_GCC_PURE;
|
|||
/** Return the size of a sample with the specific sample type */
|
||||
size_t pa_sample_size(const pa_sample_spec *spec) PA_GCC_PURE;
|
||||
|
||||
/** Similar to pa_sample_size() but take a sample format instead of a
|
||||
* full sample spec. \since 0.9.15 */
|
||||
size_t pa_sample_size_of_format(pa_sample_format_t f) PA_GCC_PURE;
|
||||
|
||||
/** Calculate the time the specified bytes take to play with the
|
||||
* specified sample type. The return value will always be rounded
|
||||
* down for non-integral return values. */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue