easyeffects icon indicating copy to clipboard operation
easyeffects copied to clipboard

no sound, randomly, viewing video with FF , Chrome, VLC

Open promeneur opened this issue 2 years ago • 18 comments

EasyEffects Version

6.2.6

What package are you using?

openSUSE

Distribution

openSUSE Tumbleweed

Describe the bug

Randomly, sometime when viewing a video with FF or Chrome (YouTube) or VLC then there is no sound.

It seems this occurs after several starts and stops, or several launching and quitting.

Speakers are "on".

I must restart the PC to get again sound For FF or Chrome or VLC.

Expected Behavior

Output sound is never cut.

Debug Log

Debug Log
Paste your log here

Additional Information

No response

promeneur avatar Aug 31 '22 03:08 promeneur

This reminds of a bug whose source is still a mystery https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1733. The next time this happens try to see if enabling and disabling the global bypass button, the one next to the presets menu, makes the sound come back. Or if disabling and enabling effects for the streams in the corresponding EasyEffects checkbox makes any difference. If one of these things work it is probably the same situation as the one in the issue I have opened in the PipeWire's page.

I must restart the PC to get again sound For FF or Chrome or VLC.

Executing easyeffects -q and opening it again by clicking on you desktop icon is a faster solution if the global bypass procedure has no effect.

wwmm avatar Aug 31 '22 04:08 wwmm

pipewire 0.3.56

Ok, I will try your solution and I will report the result.

Thanks

promeneur avatar Aug 31 '22 08:08 promeneur

The problem has just occured with VLC. I get again the sound by clicking twice the "bypass" button.

promeneur avatar Sep 03 '22 20:09 promeneur

The problem has just occured with VLC. I get again the sound by clicking twice the "bypass" button.

Ok. The next time this happens run pw-dot before forcing the sound to come back. The output file can be viewed with the command xdot. It would be good to know if in your computer the links between filters are paused or if the sound is gone even if the links are made and active. In the past I saw paused links. But for a while I have been noticing lack of sound even if PipeWire tells that the links are made and active.

wwmm avatar Sep 03 '22 21:09 wwmm

Exactly what happens.

With FF I play a video. After this video, I quit FF and launch VLC. With VLC I play a video After this video, I search and play another video. From the beginning of the video, i get no sound. I pause the video. I launch EE I click twice the "bypass" button I keep on playing the video. this time i get sound.

promeneur avatar Sep 03 '22 21:09 promeneur

I would just like to mention that this / https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1733 is also happening for me, during watching youtube videos in chrome on debian sid. No actionable reproduction steps, sadly.

LebedevRI avatar Sep 11 '22 19:09 LebedevRI

No actionable reproduction steps, sadly.

That is one of the main problems with this bug. It is too random and as a result hard to debug. I think that just like https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2617 we are facing some kind of bug in PipeWire. As far as PipeWire's API is concerned I do not see what else I could do different in order to avoid these 2 bugs.

wwmm avatar Sep 11 '22 19:09 wwmm

Whenever this "no sound" bug happens it is important to run pw-dot and maybe pw-dump too before forcing things to work again. This way we can see if anything new is happening to the link states.

wwmm avatar Sep 11 '22 19:09 wwmm

(left channel is silent) pw-dump.txt pw.dot.txt

LebedevRI avatar Sep 13 '22 20:09 LebedevRI

Worse case: left channel is somehow random noise, right channel is good. pw-dump.txt pw.dot.txt

LebedevRI avatar Sep 13 '22 22:09 LebedevRI

(left channel is silent) Worse case: left channel is somehow random noise, right channel is good.

The pw-dot output is totally fine. Just like I have seen in the last months when this problem happens. I will need some time to take a good look at the pw-dump file.

Such a frustrating bug... According to PipeWire's own tool the links are there and in the active state. There should be audio but somehow there isn't.

wwmm avatar Sep 13 '22 23:09 wwmm

New phenomenon.

during a skype video talk suddenly no more mic. before playing with "by pass" button, I executed "pw-dot".

pw.dot.txt

playing with "by pass" button does not solve the problem.

I recalled my contact then again after a while no more mic.

more info : the mic is dynamically shared between the host and a qemu guest.

I never get any problem till this day using mic with Skype.

promeneur avatar Sep 14 '22 09:09 promeneur

before playing with "by pass" button, I executed "pw-dot".

And again the output is totally fine. The filters are loaded and the links between them are in the active state... I wonder what is happening inside PipeWire under the hoods. If the links are active they are literally sending silent audio buffers to the filters. It doesn't make any sense.

wwmm avatar Sep 14 '22 22:09 wwmm

More info about mic : I get an error message from Skype saying there is a problem with the mic and suggesting to restart the PC.

promeneur avatar Sep 15 '22 05:09 promeneur

I get the problem with VLC.

pw.dot.txt

Playing with "by pass" button does not solve the problem.

I had to relaunch VLC to get again sound.

promeneur avatar Sep 15 '22 20:09 promeneur

I wonder if PipeWire 0.3.58 will have any effect on this bug. At least another one whose source was unknown https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2617 seems to have been unintentionally fixed by the new release.

wwmm avatar Sep 18 '22 15:09 wwmm

I wonder if PipeWire 0.3.58 will have any effect on this bug.

I'll report back after statistically-significant time frame.

LebedevRI avatar Sep 18 '22 15:09 LebedevRI

I wonder if PipeWire 0.3.58 will have any effect on this bug.

I'll report back after statistically-significant time frame.

Just had the "left channel is somehow random noise, right channel is good." case again. So nothing changed basically.

LebedevRI avatar Sep 18 '22 21:09 LebedevRI

I am having a somewhat similar issue; I didn't want to create a new issue in case this is the same bug. I'm on Arch Linux, running KDE Plasma 5.25.5 using Pipewire 0.3.58 and Easyeffects 6.3.0-1. For ages, I've had no issues with EasyEffects. I use it both with the built-in speakers on my laptop, and with my Bluetooth JBL speaker. However, in the last few weeks (I should have noted exactly when but I didn't think of it) if EasyEffects is running, and I try to start an audio stream from any application, the audio stream is unable to start and the application hangs until I move the volume slider in the system tray. Then all of a sudden the program (YouTube in Firefox, VLC, Strawberry, whatever) will suddenly start playing and as long as the audio continues, it keeps playing fine. However, if the audio stops again for any reason (next track in a playlist, buffering, etc) the stream will once again get "hung" until I move the volume slider. The volume slider fix was something I discovered accidentally when trying to figure out what was going on. I don't see anything in dmesg. EasyEffects is installed as a system package from pacman, not as a Flatpak. Looking in various log files, I can't immediately see anything that occurs at the same time as this problem, but I may not be looking in the right places. Checked journalctl for pipewire and pipewire-pulse. I occasionally see some things from easyeffects also but they seem to be related to GTK errors when drawing the interface so likely unrelated.

MrAureliusR avatar Sep 28 '22 07:09 MrAureliusR

if EasyEffects is running, and I try to start an audio stream from any application, the audio stream is unable to start and the application hangs until I move the volume slider in the system tray.

If this is easy to reproduce you are probably seeing a different kind of problem. The bug in this issue is so random that it never happens when I need it to happen.

wwmm avatar Sep 28 '22 22:09 wwmm

After having a problem with the mic (see my previous comment 19 days before.) in EE settings, I disabled the input stream process. Yesterday during a video talk with Skype again, no more mic. My conclusion is the problem does not come from EE, but comes from pipewire. What do you think? Then I enabled the input stream process, then I get a working mic.

promeneur avatar Oct 03 '22 05:10 promeneur

My conclusion is the problem does not come from EE, but comes from pipewire. What do you think?

It is the only explanation I can think of. In the issue I opened at the PipeWire's page I asked if some kind of special procedure was needed when creating/destroying links based on when the players streams enter/exit the playing state. The answer was that things should work out of the box. No delays or special procedures required. So as far as I can see I am doing nothing wrong.

wwmm avatar Oct 03 '22 21:10 wwmm

Still happening with pipewire 0.3.59, wireplumber 0.4.11, easyeffects 6.3.0.

LebedevRI avatar Oct 04 '22 22:10 LebedevRI

I had the same problem and was using wireplumber. I tried to switch to pipewire-media-session, the problem still happened.

The method i used to test was playing a video with Freetube (should be the same with firefox) and have pavucontrol opened on the side to see when the output of the app disappear and when it disappears unpause the video.

It seems like the microphone input works fine while this issue is happening, it appears to be only happening on the ouputs.

Replacing easyeffects with the Flatpak seems to have fixed the issue.

nargacu83 avatar Oct 24 '22 12:10 nargacu83

So now what is the difference between the flatpack version and the openSUSE Tumbleweed version for example ?

promeneur avatar Oct 24 '22 12:10 promeneur

So now what is the difference between the flatpack version and the openSUSE Tumbleweed version for example ?

The flatpak version is using it's own dependencies and not the system ones.

I'm surprised to have this issue because i'm on Arch Linux like @wwmm and a friend a mine. Both of them doesn't seem to have the issue.

nargacu83 avatar Oct 24 '22 12:10 nargacu83

The flatpak version is using it's own dependencies and not the system ones.

It's nos sufficient to say this. The question is where is the bug.

For example, openSUSE okular get a bug and not the flatpack version supplied by KDE team. With their help we found that openSUSE okular uses a bad font which leads to a bug. We must inquire with the help of EE team.

promeneur avatar Oct 24 '22 12:10 promeneur

I'm surprised to have this issue because i'm on Arch Linux like @wwmm and a friend a mine. Both of them doesn't seem to have the issue.

This lack of sound is super random and hard to reproduce. I still haven't found a way to make it happen when I want. It is always the same thing. After several hours without issue out of nowhere there is no sound after starting a new stream. I think that of all the software bugs I have ever seen in my life this one is the hardest to figure out. I have absolutely no idea about why it is even happening.

wwmm avatar Oct 24 '22 22:10 wwmm

It's nos sufficient to say this. The question is where is the bug.

For example, openSUSE okular get a bug and not the flatpack version supplied by KDE team. With their help we found that openSUSE okular uses a bad font which leads to a bug. We must inquire with the help of EE team.

Yeah sorry about that, i actually don't know what versions of packages it's using. I don't think it really matters because i actually encountered the same issue on the Flatpak version.

This random lack of sound is super random and hard to reproduce. I still haven't found a way to make it happen when I want. It is always the same thing. After several hours without issue out of nowhere there is no sound after starting a new stream. I think that of all the software bugs I have ever seen in my life this one is the hardest to figure out. I have absolutely no idea about why it is even happening.

Agreed 100%, this is really annoying and hard to reproduce. Like you said, sometimes it will not happen at all for hours and sometimes it will happen every time you pause a stream.

I don't know if it's related, it seems to appear when i had the issue happening every time i did a quick journalctl command to check what's happening.

This is the output for journalctl --user -b -u pipewire:

systemd[948]: Started PipeWire Multimedia Service.
pipewire[1031]: mod.rt: Can't find xdg-portal: (null)
pipewire[1031]: mod.rt: found session bus but no portal
pipewire[1031]: spa.audioadapter: 0x55c38a1d8518: scheduling stopped node
pipewire[1031]: spa.audioadapter: 0x55c38a1d8518: scheduling stopped node
pipewire[1031]: spa.audioadapter: 0x55c38a1d8518: scheduling stopped node

This is for journalctl --user -b -u pipewire-media-session:

systemd[948]: Started PipeWire Media Session Manager.
pipewire-media-session[1043]: mod.rt: Can't find xdg-portal: (null)
pipewire-media-session[1043]: mod.rt: found session bus but no portal
pipewire-media-session[1043]: dbus[1043]: Attempted to unregister path (path[0] = MediaEndpoint path[1] = A2DPSink) which isn't registered
pipewire-media-session[1043]: dbus[1043]: Attempted to unregister path (path[0] = MediaEndpoint path[1] = A2DPSink) which isn't registered
pipewire-media-session[1043]: dbus[1043]: Attempted to unregister path (path[0] = MediaEndpoint path[1] = A2DPSink) which isn't registered
etc...

nargacu83 avatar Oct 25 '22 01:10 nargacu83

Alright, i've been running easyeffects with this command: G_MESSAGES_DEBUG=easyeffects easyeffects --gapplication-service.

Here's the last few lines:

(easyeffects:25999): easyeffects-DEBUG: 14:53:31.907: 	pipe_manager.cpp:1189	Chromium port 110 is connected to easyeffects_sink port 58
(easyeffects:25999): easyeffects-DEBUG: 14:53:31.907: 	pipe_manager.cpp:1189	Chromium port 102 is connected to easyeffects_sink port 96
(easyeffects:25999): easyeffects-DEBUG: 14:53:31.908: 	stream_output_effects.cpp:156	At least one app linked to our device wants to play. Linking our filters.
(easyeffects:25999): easyeffects-DEBUG: 14:54:09.501: 	pipe_manager.cpp:212	Stream/Output/Audio 114 Chromium has been removed

When the issue happened, no new messages appeared. Only when the stream i paused was paused long enough to be removed. Started the stream again and it was working.

I was thinking it might be related on how easyeffects removes streams references or something?

I also ran the same command without --gapplication-service yesterday and i did not encounter the issue at all. Could it also be related to the running in the background thing?

nargacu83 avatar Oct 26 '22 13:10 nargacu83