hslbck/gnome-shell-extension-radio

Radio stream not functioning

Closed this issue ยท 8 comments

Hello, I am trying to add Seattle 88.5 KNKX and am running into some issues. Happy to help debug, as my guess is that there is an underlying issue affecting other people ( #143 , #142 , #138 , #127 ).

There is an entry from the "official" stream provider and I have tried all three of the playlists that they offer. PLS gets "Stream error" while M3U and XSPF get "Missing plugin".

Additionally, KNKX provides a number of streaming links and none of them work through the extension. That being said, they do play via VLC and other media players.

:~$ dpkg --get-selections |grep gstreamer
gir1.2-gstreamer-1.0:amd64			install
gstreamer1.0-clutter-3.0:amd64			install
gstreamer1.0-gl:amd64				install
gstreamer1.0-gtk3:amd64				install
gstreamer1.0-libav:amd64			install
gstreamer1.0-nice:amd64				install
gstreamer1.0-packagekit				install
gstreamer1.0-plugins-bad:amd64			install
gstreamer1.0-plugins-base:amd64			install
gstreamer1.0-plugins-base-apps			install
gstreamer1.0-plugins-good:amd64			install
gstreamer1.0-plugins-rtp			install
gstreamer1.0-plugins-ugly:amd64			install
gstreamer1.0-pulseaudio:amd64			install
gstreamer1.0-tools				install
gstreamer1.0-x:amd64				install
libgstreamer-gl1.0-0:amd64			install
libgstreamer-plugins-bad1.0-0:amd64		install
libgstreamer-plugins-base1.0-0:amd64		install
libgstreamer1.0-0:amd64				install
libreoffice-avmedia-backend-gstreamer		install

Does the "radiotray" package need to be installed?

:~$ uname -srvmo
Linux 4.19.0-8-amd64 #1 SMP Debian 4.19.98-1 (2020-01-26) x86_64 GNU/Linux

Thanks for providing a minimal but useful Gnome extension!

Hi @altsalt

Have you install gir1.2-gst-plugins-base-1.0 package ? With it, this extension work well...

I do have that package installed, but did not have -bad-1.0. I've installed that and will report after a reboot as it currently did not resolve the issue.

@galen1423 Nope, no change in errors.

I got "Stream Error" on "official provider" playlist item.

curl -v "https://prod-34-83-211-194.wostreaming.net/ppm-knkxfmmp3-ibc1" --output test
Returned the stream no problem and headers looked good

$ gst-play-1.0 https://prod-34-83-211-194.wostreaming.net/ppm-knkxfmmp3-ibc1
Returned error about invalid 'sink' (didn't save the logs, i have several outputs that i juggle throughout the day so i'm used to them being messed up).

$ gst-play-1.0 some.mp3
I then tested with a random local mp3, it didn't complain about anything this time so i retried the stream URL.

$ gst-play-1.0 https://prod-34-83-211-194.wostreaming.net/ppm-knkxfmmp3-ibc1
This time the stream URL was working fine from both gst-play-1.0 and from the extension.

I can't reproduce the error anymore so if this is the same bug it's probably output related and i'm not sure whether it's this extensions, gst or pulse issue.

OK had it happen again, the error returned by gst-play-1.0 was:

ERROR Failed to connect stream: Device or resource busy for https://prod-34-83-211-194.wostreaming.net/ppm-knkxfmmp3-ibc1?session-id=7a7287a648849cddfbe02257f1d1f902
ERROR debug information: ../gst-plugins-good/ext/pulse/pulsesink.c(1077): gst_pulseringbuffer_acquire (): /GstPlayBin:playbin/GstPlaySink:playsink/GstBin:abin/GstPulseSink:pulsesink0

Playing a local mp3 didnt help but $ pulseaudio -k did.

@junaru Thanks! So the issue is related within gstreamer and the stream and not extension related, right?

@hslbck cant really tell.

I have a dedicated sound card and HDMI TV in my work station. My personal theory is that there is an edge case where sometimes when the TV (or in users case, some other device that can output sound) is cycled on and off pulseaudio removes and re adds the HDMI sink changing sink list order (this is only a guess i haven't confirmed it).

This for whatever reason is not picked up by Gst and gnome shell and since we don't define any specific sinks and use whatever is given by Gst we join the ride.

I have an audio switcher extension that gets out of sync with whats actually the default whenever this happens, so its not just our extension that gets its outputs mixed.

If this theory is correct this could be solved by:

  1. Telling pulseaudio to always add sinks in same order (not user friendly)
  2. Finding out if its pulseaudio that doesn't emit a required event or if its Gst together with gnome who simply ignore it.

When it happens some radio stations keep playing, some report Missing plugin or Stream Error but it's not a specific station issue: the next time it happens others will error out and previously erroneous ones will work. This could be explained if the Gst instance we are using has some sort of global state, but again this is only a guess.

I'm not familiar neither with Gst neither with pulse so i wont be digging at this anytime soon.

Station works for me, when added from search (radio-browser.info)