wwmm / easyeffects

Limiter, compressor, convolver, equalizer and auto volume and many other plugins for PipeWire applications
GNU General Public License v3.0
6.46k stars 269 forks source link

playing new sound will play a already paused/stopped sound prev #3422

Open littleblack111 opened 1 week ago

littleblack111 commented 1 week ago

EasyEffects Version

7.1.8

What package are you using?

Arch (easyeffects)

Distribution

Arch BTW

Describe the bug

currently: https://github.com/wwmm/easyeffects/issues/3386

but theres also two anomaly:

Expected Behavior

none of above happening

Debug Log

Debug Log
``` Paste your log here ```

Additional Information

https://github.com/wwmm/easyeffects/issues/3386

in case ur wondering, i dont have any delay effects/options set

wwmm commented 1 week ago

I think we already have a discussion about this somewhere. But I can't remember the issue name. In any case it is a hard to solve this as things are right now on PipeWire's side. There isn't a pipeline management infrastructure like the one provided by GStreamer. Where you can force the pipeline to remain active until the last plugin has received a message sent by the first plugin. PipeWire is in total control of the plugins activation as well as for how long they keep running.

the issue is when it's starting, it would glitch my speaker for a spit second, its some what fine, until... today. i have 2 players on, i just paused spotify(and it crashed) THEN IT JUMPSCARD ME SOO HARD. it just give like a LARGE 5000% sound, like a beep. then it returned to normal...

I wonder if you soundcard drier has the same problem as mine. When my soundcard comes back from the suspended state it does a very annoying crackling. It has nothing to do with EasyEffects. The difference is that depending on the plugins I am using the crackling amplitude can be very high. But it is still there when EasyEffects is not running.

In cases like this the only solution is disabling the soundcard suspension in the server configuration.

wwmm commented 1 week ago

Based on the list of plugins you provided on the other issue EasyEffects pipeline should have almost no data stored inside each plugin. In other words the extra latency displayed in EasyEffects bottom panel should be very small and virtually unnoticeable by ear.

littleblack111 commented 1 week ago

no. but if my volume is around 80-90 and im playing smth loud, it would crack rly hard too...

and idk wats up but my speaker performance VERY different between linux and windows(i dual boot)

in windows, 10% of it is around 80% of it in linux. and in windows it never crack(volume)...

its a eden

wwmm commented 1 week ago

In other words the extra latency displayed in EasyEffects bottom panel should be very small and virtually unnoticeable by ear.

Actually this isn't the case when using the loudness plugin. I tested it now and it adds quite a lot of latency depending on the FFT size. With the default 4096 value the extra pipeline latency jumps to more than 90 milliseconds. Does the glitch changes if you select smaller FFT sizes?

wwmm commented 1 week ago

Forget my last comment. You are using the Bass Loudness and not the loudness plugin...

wwmm commented 1 week ago

With the plugins you are using the extra latency should be close to zero. What means that the amount of data stored in it is negligible. I wonder from where the "last 0.1s sound" you are listening to is coming from.

littleblack111 commented 1 week ago

no idea... but def sth dealing with easyeffects because its nowhere to be seen if i kill easyeffects

wwmm commented 1 week ago

no idea... but def sth dealing with easyeffects because its nowhere to be seen if i kill easyeffects

I wonder if the one storing old buffers is the null-sink... If issue is still there when EE global bypass is enabled or the plugins are removed from the pipeline then the null-sink is the one with the old data.