mirror of
https://github.com/librespot-org/librespot.git
synced 2024-12-18 17:11:53 +00:00
Merge pull request #840 from roderickvd/attenuate-last
Attenuate after normalisation
This commit is contained in:
commit
2fcd24164d
1 changed files with 4 additions and 13 deletions
|
@ -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) {
|
||||
|
|
Loading…
Reference in a new issue