Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

slow or unstable connection causes strabwerry to be in eternally loading 0 percent #1016

Closed
userofryzen opened this issue Aug 8, 2022 · 17 comments

Comments

@userofryzen
Copy link

Describe the bug
When on unstable or slow connection, tidal fails to load usually( at least tidal)

To Reproduce
To be on a bluetooth connection with smartphone for example, play any song with tidal, if you are doing something more like chatting tidal are gonna buffer the song, that is not the problem, the problem is that strawberry goes 0 percent of buffer eternally.. either you stop chatting or downloading anything, you have to stop the song and play again. To sum up, it requires manual intervention

Expected behavior
I expect the music to stop, yeah, but I don't expect the music to stop eternally until I go to strawberry app, stop, and play again

Screenshots:
imagen

System Information:

  • Operating system: manjaro
  • Strawberry Version: latest stable one with QT6( i have tried qt 5 too)

Additional context
I'm sharing internet with bluetooth that is slow, so when Im doing another thing like chatting( and without doing nothing also happens but a little bit less) the music stops until I stop and play.. there is no way that strawberry self play the song when it can buffer

@jonaski
Copy link
Member

jonaski commented Aug 8, 2022

Have you tried changing the buffer settings in the backend settings?
Try turning off buffering by setting buffer duration to 0.

@userofryzen
Copy link
Author

userofryzen commented Aug 9, 2022 via email

@jonaski
Copy link
Member

jonaski commented Aug 9, 2022

I'm not sure this really is a bug at all. It works for most users. Streaming might not work reliable under poor internet connections. To be honest this isn't something I will look into I'm afraid. And with no other contributors there is not much chance anyone is going to look into this unless you plan to do it yourself. If there really is a fix or improvement, it most likely has to be done in gstreamer anyway.

@userofryzen
Copy link
Author

I'm not sure this really is a bug at all. It works for most users. Streaming might not work reliable under poor internet connections. To be honest this isn't something I will look into I'm afraid. And with no other contributors there is not much chance anyone is going to look into this unless you plan to do it yourself. If there really is a fix or improvement, it most likely has to be done in gstreamer anyway.

it's a bug since the music stop playing on eternally buffer 0 until you manually stop it and play again. Without doing anything, the web app of tidal stop for slow connection but play when there is connection again. I mean, I think it's a problem of strawberry or maybe gstreamer but.. netflix for example doesnt have this problems with the same connection. I put netflix on the laptop with bluetooth and there are times that the playback stop, but itself play again when detecting connection.
If you share internet with bluetooth with your mobile im sure youll see what happens with more relieble than my words.
I feel like this can happen on another places too not only bluetooth.

May be the packet cntaining the "send me more info" is lost and strawberry won't send it again never and it has to be anothers "send me more info" if there is not an answer to the first ones
am I explaning myself well?

@jonaski
Copy link
Member

jonaski commented Aug 13, 2022

Unable to reproduce any issues, testing with netem both limiting the connection and adding packet loss.

@jonaski jonaski closed this as completed Aug 13, 2022
@userofryzen
Copy link
Author

userofryzen commented Aug 13, 2022

@jonaski
Maybe I can record it on a video so you can see what happens and the stability or slow of the connection.
When I do an speed test is like a little bit more than 1 Mbps of download and much ping/jitter. The situation is worse when I use telegram or browse something because is like the another programs are using all the bandwidth and make strawberry and everything Lost packets. I mean I think it has to be with the packet loss thing..
If not.. what can happens to me when strawberry says buffering 0 percent and I can enter in telegram and send things or to browse websites?
I have to stop and play and in that moment the buffer works.
May be a bug in the manjaro/arch package?

@jonaski
Copy link
Member

jonaski commented Aug 22, 2022

Pretty sure the issues are related to libsoup version 3.
Since gstreamer 1.20, libsoup is loaded at runtime, and (for some reason) version 3 is prioritized, see: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/main/subprojects/gst-plugins-good/ext/soup/gstsouploader.c#L172
Try uninstalling libsoup 3 and install libsoup 2 instead.
If that works, report the issue to your distro and ask them to patch the code so it prioritizes version 2.
Use of libsoup 3 in gstreamer is experimental, see: https://gstreamer.freedesktop.org/releases/1.20/

@userofryzen
Copy link
Author

userofryzen commented Aug 22, 2022

Pretty sure the issues are related to libsoup version 3. Since gstreamer 1.20, libsoup is loaded at runtime, and (for some reason) version 3 is prioritized, see: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/main/subprojects/gst-plugins-good/ext/soup/gstsouploader.c#L172 Try uninstalling libsoup 3 and install libsoup 2 instead. If that works, report the issue to your distro and ask them to patch the code so it prioritizes version 2. Use of libsoup 3 in gstreamer is experimental, see: https://gstreamer.freedesktop.org/releases/1.20/

removed version 3 of libsoup and strawberry works flawlessly at least with the little test I have executed, I wil inform more about it.
In fact, I'm saying it with strawberry on lossless audio, sharing internet with bluetooth . Before it was not possible because it was stopping each minute almost.
Where manjaro have to patch to use libsoup 2 instead?
on gstreamer or what?

@jonaski
Copy link
Member

jonaski commented Aug 22, 2022

The file gstsouploader.c in the gst-plugins-good package

@jonaski
Copy link
Member

jonaski commented Aug 22, 2022

To see which version is loaded on startup you can use:
export GST_DEBUG=2,soup:5

Start strawberry on the terminal.

Patch here: https://gitlab.freedesktop.org/jonaski/gstreamer/-/commit/227f5916d0943b30db6dac97d2dded2373c54019.patch

if both versions are installed you need to delete the gstreamer registry cache before gstreamer will try to load the other version of libsoup:
rm -rf ~/.cache/gstreamer-1.0/

@userofryzen
Copy link
Author

export GST_DEBUG=2,soup:5

I have no doubts now that the problem of strawberry being eternally on 0 percent is for libsoup3.
Tested it right now, libsoup 3 makes the buffer not work but with libsoupv2 after removing libsoup there is no problem, the music stops for buffer and it buffers, not stop eternally.
So .. Idk if it patchable from strawberry or it's need to do it on gstreamer.
In addition, i cant see the patch because I have no permissions

@jonaski
Copy link
Member

jonaski commented Aug 22, 2022

I see that both openSUSE and Arch are using libsoup 3.0.7, while the newest is 3.1.3. However I don't see any changes between the versions that should be relevant to this.

@userofryzen
Copy link
Author

Idk, I have reported it so.. the only thing I can do it's to wait I think. I have reinstalled on my desktop systemd libsoupv3 because it's not where I have the problem

@tp-m
Copy link

tp-m commented Aug 23, 2022

Not saying that this is the same issue, but there were fixes between 3.0.7 and 3.1.3 that fixed HLS/DASH streaming with libsoup3

@userofryzen
Copy link
Author

@tp-m idk i'm capacited to debug only.
And in manjaro I think 3.1.3 is not on testing either so... I¡ll create another issue on gstreamer for request of developpers

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants