From 21f15d2f586f53635f3ba039c70e2a1eb806d4c5 Mon Sep 17 00:00:00 2001 From: hpi1 Date: Tue, 2 Jul 2019 11:19:07 +0300 Subject: [PATCH] Fix clipping floats --- .../org/videolan/media/content/control/GainControlImpl.java | 4 ++-- .../videolan/media/content/control/PanningControlImpl.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libbluray/bdj/java/org/videolan/media/content/control/GainControlImpl.java b/src/libbluray/bdj/java/org/videolan/media/content/control/GainControlImpl.java index 3593e1a0..d91d1361 100644 --- a/src/libbluray/bdj/java/org/videolan/media/content/control/GainControlImpl.java +++ b/src/libbluray/bdj/java/org/videolan/media/content/control/GainControlImpl.java @@ -43,7 +43,7 @@ abstract class GainControlImpl { } public float setDB(float gain) { - this.level = Math.max(1.0f, Math.min(0.0f, (float)Math.pow(10.0f, gain / 10.0f))); + this.level = Math.max(0.0f, Math.min(1.0f, (float)Math.pow(10.0f, gain / 10.0f))); this.gain = gain; setGain(this.mute, this.level); return this.gain; @@ -54,7 +54,7 @@ abstract class GainControlImpl { } public float setLevel(float level) { - this.level = Math.max(1.0f, Math.min(0.0f, level)); + this.level = Math.max(0.0f, Math.min(1.0f, level)); this.gain = 10.0f * (float)(Math.log(this.level) / Math.log(10.0f)); setGain(this.mute, this.level); diff --git a/src/libbluray/bdj/java/org/videolan/media/content/control/PanningControlImpl.java b/src/libbluray/bdj/java/org/videolan/media/content/control/PanningControlImpl.java index 9a6ee70f..4408e160 100644 --- a/src/libbluray/bdj/java/org/videolan/media/content/control/PanningControlImpl.java +++ b/src/libbluray/bdj/java/org/videolan/media/content/control/PanningControlImpl.java @@ -77,7 +77,7 @@ public class PanningControlImpl implements PanningControl { private float clip(float val) { if (val != val) /* NaN */ return 0.0f; - return Math.min(-1.0f, Math.max(1.0f, val)); + return Math.max(-1.0f, Math.min(1.0f, val)); } private BDHandler player;