summaryrefslogtreecommitdiffstats
path: root/src/pulse/volume.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2009-02-03 04:05:41 +0100
committerLennart Poettering <lennart@poettering.net>2009-02-03 04:05:41 +0100
commit554c818d21acb66dbfdd477165f6a25f88c334f1 (patch)
tree2d13db5522e246499075e9b36793e8793115f9aa /src/pulse/volume.c
parentf9696c0e7fb38b77dedeafb0e3c4dbdf6df6c4ff (diff)
before applying balance/fade check it actually makes sense
Diffstat (limited to 'src/pulse/volume.c')
-rw-r--r--src/pulse/volume.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/pulse/volume.c b/src/pulse/volume.c
index ba2ee8fb..01a28e83 100644
--- a/src/pulse/volume.c
+++ b/src/pulse/volume.c
@@ -467,6 +467,9 @@ float pa_cvolume_get_balance(const pa_cvolume *v, const pa_channel_map *map) {
pa_assert(map);
pa_assert(map->channels == v->channels);
+ if (!pa_channel_map_can_balance(map))
+ return 0.0f;
+
get_avg_lr(map, v, &left, &right);
if (left == right)
@@ -497,6 +500,9 @@ pa_cvolume* pa_cvolume_set_balance(pa_cvolume *v, const pa_channel_map *map, flo
pa_assert(new_balance >= -1.0f);
pa_assert(new_balance <= 1.0f);
+ if (!pa_channel_map_can_balance(map))
+ return v;
+
get_avg_lr(map, v, &left, &right);
m = PA_MAX(left, right);
@@ -584,6 +590,9 @@ float pa_cvolume_get_fade(const pa_cvolume *v, const pa_channel_map *map) {
pa_assert(map);
pa_assert(map->channels == v->channels);
+ if (!pa_channel_map_can_fade(map))
+ return 0.0f;
+
get_avg_fr(map, v, &front, &rear);
if (front == rear)
@@ -605,6 +614,9 @@ pa_cvolume* pa_cvolume_set_fade(pa_cvolume *v, const pa_channel_map *map, float
pa_assert(new_fade >= -1.0f);
pa_assert(new_fade <= 1.0f);
+ if (!pa_channel_map_can_fade(map))
+ return v;
+
get_avg_fr(map, v, &front, &rear);
m = PA_MAX(front, rear);