mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-05 13:29:57 -05:00
add new API pa_cvolume_compatible_with_channel_map()
This commit is contained in:
parent
921882de54
commit
543115ae17
3 changed files with 20 additions and 2 deletions
|
|
@ -109,6 +109,7 @@ pa_context_unref;
|
||||||
pa_cvolume_avg;
|
pa_cvolume_avg;
|
||||||
pa_cvolume_channels_equal_to;
|
pa_cvolume_channels_equal_to;
|
||||||
pa_cvolume_compatible;
|
pa_cvolume_compatible;
|
||||||
|
pa_cvolume_compatible_with_channel_map;
|
||||||
pa_cvolume_equal;
|
pa_cvolume_equal;
|
||||||
pa_cvolume_get_balance;
|
pa_cvolume_get_balance;
|
||||||
pa_cvolume_get_fade;
|
pa_cvolume_get_fade;
|
||||||
|
|
|
||||||
|
|
@ -428,6 +428,19 @@ int pa_cvolume_compatible(const pa_cvolume *v, const pa_sample_spec *ss) {
|
||||||
return v->channels == ss->channels;
|
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) {
|
static void get_avg_lr(const pa_channel_map *map, const pa_cvolume *v, pa_volume_t *l, pa_volume_t *r) {
|
||||||
int c;
|
int c;
|
||||||
pa_volume_t left = 0, right = 0;
|
pa_volume_t left = 0, right = 0;
|
||||||
|
|
|
||||||
|
|
@ -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 */
|
/** 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);
|
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
|
/** Return non-zero if the specified volume is compatible with the
|
||||||
* the specified sample spec. \since 0.9.13 */
|
* specified sample spec. \since 0.9.13 */
|
||||||
int pa_cvolume_compatible(const pa_cvolume *v, const pa_sample_spec *ss) PA_GCC_PURE;
|
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
|
/** Calculate a 'balance' value for the specified volume with the
|
||||||
* specified channel map. The return value will range from -1.0f
|
* specified channel map. The return value will range from -1.0f
|
||||||
* (left) to +1.0f (right). If no balance value is applicable to this
|
* (left) to +1.0f (right). If no balance value is applicable to this
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue