diff --git a/playback/src/player.rs b/playback/src/player.rs index a6e71aad..361c24a7 100644 --- a/playback/src/player.rs +++ b/playback/src/player.rs @@ -1186,10 +1186,6 @@ impl PlayerInternal { Some(mut packet) => { if !packet.is_empty() { if let AudioPacket::Samples(ref mut data) = packet { - if let Some(ref editor) = self.audio_filter { - editor.modify_stream(data) - } - if self.config.normalisation && !(f64::abs(normalisation_factor - 1.0) <= f64::EPSILON && self.config.normalisation_method == NormalisationMethod::Basic) @@ -1290,18 +1286,13 @@ impl PlayerInternal { } } } - *sample *= actual_normalisation_factor; - - // Extremely sharp attacks, however unlikely, *may* still clip and provide - // undefined results, so strictly enforce output within [-1.0, 1.0]. - if *sample < -1.0 { - *sample = -1.0; - } else if *sample > 1.0 { - *sample = 1.0; - } } } + + if let Some(ref editor) = self.audio_filter { + editor.modify_stream(data) + } } if let Err(err) = self.sink.write(&packet, &mut self.converter) {