diff options
| -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)          \  | 
