diff options
Diffstat (limited to 'src/pulse')
-rw-r--r-- | src/pulse/volume.c | 14 | ||||
-rw-r--r-- | src/pulse/volume.h | 4 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/pulse/volume.c b/src/pulse/volume.c index 4d5fcf08..e809ef9c 100644 --- a/src/pulse/volume.c +++ b/src/pulse/volume.c @@ -325,3 +325,17 @@ pa_cvolume *pa_cvolume_remap(pa_cvolume *v, pa_channel_map *from, pa_channel_map *v = result; return v; } + +int pa_cvolume_compatible(const pa_cvolume *v, const pa_sample_spec *ss) { + + pa_assert(v); + pa_assert(ss); + + if (!pa_cvolume_valid(v)) + return 0; + + if (!pa_sample_spec_valid(ss)) + return 0; + + return v->channels == ss->channels; +} diff --git a/src/pulse/volume.h b/src/pulse/volume.h index d6eb6061..90fb59e5 100644 --- a/src/pulse/volume.h +++ b/src/pulse/volume.h @@ -192,6 +192,10 @@ 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, pa_channel_map *from, pa_channel_map *to); +/** 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; + PA_C_DECL_END #endif |