diff options
author | Lennart Poettering <lennart@poettering.net> | 2009-09-09 04:27:16 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2009-09-09 04:27:16 +0200 |
commit | 1f0904b800d9d69698e79ce0435a2777d5f7ec27 (patch) | |
tree | dc494ed60c715d276700b00ec8b5e97a3f7df90c /src/pulsecore | |
parent | c2f1994968e71f0f0a6c1f44bd8ec40edf1b6434 (diff) |
sample-util: add pa_convert_size() call for converting sizes between two sample specs
Diffstat (limited to 'src/pulsecore')
-rw-r--r-- | src/pulsecore/sample-util.c | 10 | ||||
-rw-r--r-- | src/pulsecore/sample-util.h | 2 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/pulsecore/sample-util.c b/src/pulsecore/sample-util.c index 5fae1928..a26dc876 100644 --- a/src/pulsecore/sample-util.c +++ b/src/pulsecore/sample-util.c @@ -1056,3 +1056,13 @@ void pa_memchunk_sine(pa_memchunk *c, pa_mempool *pool, unsigned rate, unsigned calc_sine(p, c->length, freq * l / rate); pa_memblock_release(c->memblock); } + +size_t pa_convert_size(size_t size, const pa_sample_spec *from, const pa_sample_spec *to) { + pa_usec_t usec; + + pa_assert(from); + pa_assert(to); + + usec = pa_bytes_to_usec_round_up(size, from); + return pa_usec_to_bytes_round_up(usec, to); +} diff --git a/src/pulsecore/sample-util.h b/src/pulsecore/sample-util.h index 34df5cf3..d0235d60 100644 --- a/src/pulsecore/sample-util.h +++ b/src/pulsecore/sample-util.h @@ -91,6 +91,8 @@ typedef void (*pa_do_volume_func_t) (void *samples, void *volumes, unsigned chan pa_do_volume_func_t pa_get_volume_func(pa_sample_format_t f); void pa_set_volume_func(pa_sample_format_t f, pa_do_volume_func_t func); +size_t pa_convert_size(size_t size, const pa_sample_spec *from, const pa_sample_spec *to); + #define PA_CHANNEL_POSITION_MASK_LEFT \ (PA_CHANNEL_POSITION_MASK(PA_CHANNEL_POSITION_FRONT_LEFT) \ | PA_CHANNEL_POSITION_MASK(PA_CHANNEL_POSITION_REAR_LEFT) \ |