diff options
author | Lennart Poettering <lennart@poettering.net> | 2009-02-03 21:15:32 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2009-02-03 21:15:32 +0100 |
commit | 543115ae1726e853624a6214ad58187f6d84c95a (patch) | |
tree | de2ec270ffbbab36a2c5cab577be8370e5e7a9db /src/pulse | |
parent | 921882de548e17bbdd79bd8eb2c2ce7d36412cf4 (diff) |
add new API pa_cvolume_compatible_with_channel_map()
Diffstat (limited to 'src/pulse')
-rw-r--r-- | src/pulse/volume.c | 13 | ||||
-rw-r--r-- | src/pulse/volume.h | 8 |
2 files changed, 19 insertions, 2 deletions
diff --git a/src/pulse/volume.c b/src/pulse/volume.c index 01a28e83..e920288c 100644 --- a/src/pulse/volume.c +++ b/src/pulse/volume.c @@ -428,6 +428,19 @@ int pa_cvolume_compatible(const pa_cvolume *v, const pa_sample_spec *ss) { return v->channels == ss->channels; } +int pa_cvolume_compatible_with_channel_map(const pa_cvolume *v, const pa_channel_map *cm) { + pa_assert(v); + pa_assert(cm); + + if (!pa_cvolume_valid(v)) + return 0; + + if (!pa_channel_map_valid(cm)) + return 0; + + return v->channels == cm->channels; +} + static void get_avg_lr(const pa_channel_map *map, const pa_cvolume *v, pa_volume_t *l, pa_volume_t *r) { int c; pa_volume_t left = 0, right = 0; diff --git a/src/pulse/volume.h b/src/pulse/volume.h index 9ad3e9bf..8bfd0687 100644 --- a/src/pulse/volume.h +++ b/src/pulse/volume.h @@ -230,10 +230,14 @@ double pa_sw_volume_to_linear(pa_volume_t v) PA_GCC_CONST; /** Remap a volume from one channel mapping to a different channel mapping. \since 0.9.12 */ pa_cvolume *pa_cvolume_remap(pa_cvolume *v, const pa_channel_map *from, const pa_channel_map *to); -/** Return non-zero if the specified volume is compatible with - * the specified sample spec. \since 0.9.13 */ +/** Return non-zero if the specified volume is compatible with the + * specified sample spec. \since 0.9.13 */ int pa_cvolume_compatible(const pa_cvolume *v, const pa_sample_spec *ss) PA_GCC_PURE; +/** Return non-zero if the specified volume is compatible with the + * specified sample spec. \since 0.9.15 */ +int pa_cvolume_compatible_with_channel_map(const pa_cvolume *v, const pa_channel_map *cm) PA_GCC_PURE; + /** Calculate a 'balance' value for the specified volume with the * specified channel map. The return value will range from -1.0f * (left) to +1.0f (right). If no balance value is applicable to this |