• Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    gst-plugin-spotify has stopped functioning after the latest update

    Scheduled Pinned Locked Moved
    Technical Help
    6
    15
    784
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      jasmint @jonas
      last edited by

      @jonas Hmm, these songs are definitely still available on Spotify. I tried making a new playlist, searching for songs that aren't already in my library, and adding them. Still getting the same error.
      I ran Strawberry through the CLI and while I think it's the exact same error message, here's what keeps popping up:

      15:05:09.746 ERROR GstEnginePipeline:1866           ErrorMessageReceived ID: 3 Domain: 2270 Code: 3 Error: "Resource not found."
      15:05:09.746 ERROR GstEnginePipeline:1867           ErrorMessageReceived ID: 3 Domain: 2270 Code: 3 Debug: "audio/spotify/src/spotifyaudiosrc/imp.rs(279): <gstspotify::spotifyaudiosrc::imp::SpotifyAudioSrc as gstreamer_base::subclass::push_src::PushSrcImpl>::create (): /GstPlayBin3:pipeline-3-pipeline/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin2/GstSpotifyAudioSrc:spotifyaudiosrc2:\ntrack is not available"
      15:05:09.746 ERROR GstEngine:640                    GStreamer error: 2270 3 "Resource not found."
      
      J 1 Reply Last reply Reply Quote 0
      • J
        jasmint @jasmint
        last edited by

        Okay, after installing v1.2.29 from the Arch Linux repos (which builds directly from git), I'm now getting a different error when I try to refresh my Spotify catalogues. This error may be relevant to why the tracks no longer play.

        When I try to refresh any of the catalogues or search an artist with the in-built search function, I now get these errors as a result:

        17:43:28.487 ERROR SpotifyRequest:1390              Spotify: "Error transferring https://api.spotify.com/v1/me/albums?include_groups=album201Csingle - server replied with status code 403 (201)"
        17:47:21.399 ERROR SpotifyRequest:1390              Spotify: "Error transferring https://api.spotify.com/v1/me/following?type=artist - server replied with status code 403 (201)"
        17:47:25.955 ERROR SpotifyRequest:1390              Spotify: "Error transferring https://api.spotify.com/v1/me/tracks - server replied with status code 403 (201)"
        17:47:33.672 ERROR SpotifyRequest:1390              Spotify: "Error transferring https://api.spotify.com/v1/search?limit=50&q=project&type=track - server replied with status code 403 (201)"
        17:47:38.142 ERROR SpotifyRequest:1390              Spotify: "Error transferring https://api.spotify.com/v1/search?limit=10&q=project aegis&type=artist - server replied with status code 403 (201)"
        

        Clicking on the webpages sends me directly to a page that says this:

        {
          "error": {
            "status": 401,
            "message": "Missing/invalid/expired access token"
          }
        }
        

        Here are the headers:
        Response headers

        Server-Timing: uasw-json-data;dur=0;desc="%7B%22userAgent%22%3A%22Mozilla%2F5.0%20(Windows%20NT%2010.0%3B%20Win64%3B%20x64%3B%20rv%3A152.0)%20Gecko%2F20100101%20Firefox%2F152.0%22%2C%22appVersion%22%3A%225.0%20(Windows)%22%2C%22platform%22%3A%22Win32%22%2C%22vendor%22%3A%22%22%2C%22product%22%3A%22Gecko%22%2C%22userAgentData%22%3A%22%5Bdelete%5D%22%2C%22oscpu%22%3A%22Windows%2010%22%2C%22productSub%22%3A%2220100101%22%2C%22buildID%22%3A%2220181001000000%22%2C%22type%22%3A%22user%22%7D"
        X-Firefox-Http3: h3
        access-control-allow-credentials: true
        access-control-allow-headers: Accept, App-Platform, Authorization, Content-Type, Origin, Retry-After, Spotify-App-Version, X-Cloud-Trace-Context, client-token, content-access-token
        access-control-allow-methods: GET, POST, OPTIONS, PUT, DELETE, PATCH
        access-control-allow-origin: *
        access-control-max-age: 604800
        alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000, h3=":443"; ma=2592000
        content-length: 94
        content-type: application/json
        date: Wed, 09 Sep 2026 07:43:40 GMT
        server: envoy
        strict-transport-security: max-age=31536000
        vary: Accept-Encoding
        via: HTTP/2 edgeproxy, 1.1 google
        www-authenticate: Bearer realm="spotify", error="missing_token", error_description="No token provided"
        x-content-type-options: nosniff
        

        Request headers

        Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
        Accept-Encoding: gzip, deflate, br, zstd
        Accept-Language: en-US,en;q=0.9
        Alt-Used: api.spotify.com
        Connection: keep-alive
        Host: api.spotify.com
        Priority: u=0, i
        Sec-Fetch-Dest: document
        Sec-Fetch-Mode: navigate
        Sec-Fetch-Site: none
        Sec-Fetch-User: ?1
        Sec-GPC: 1
        TE: trailers
        Upgrade-Insecure-Requests: 1
        User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:152.0) Gecko/20100101 Firefox/152.0
        

        (note: the user agent says Windows because I have a user agent switcher extension enabled)

        If you need more info, please let me know 🙂

        jonasJ 1 Reply Last reply Reply Quote 0
        • jonasJ
          jonas @jasmint
          last edited by

          @jasmint
          If you build from git source you need to provide API credentials manually in the settings, you can do this here here: https://developer.spotify.com/dashboard (Redirect URI need to be set to https://oauth.strawberrymusicplayer.org/), Apply settings, then login again

          J 1 Reply Last reply Reply Quote 0
          • J
            jasmint @jonas
            last edited by

            @jonas Good news but not 100% yet: after I used custom credentials following your steps (had to restart Strawberry after I signed out from my other non-custom one to get it to work, really weird), I can now use the in-built search function and refresh my catalogues! 😄

            ...unfortunately, that's where the good part ends. After searching for a song, adding it to my playlist, and trying to play it, I still get this error:

            17:58:16.446 ERROR GstEnginePipeline:1867           ErrorMessageReceived ID: 2 Domain: 2267 Code: 3 Error: "Resource not found."
            17:58:16.446 ERROR GstEnginePipeline:1868           ErrorMessageReceived ID: 2 Domain: 2267 Code: 3 Debug: "audio/spotify/src/spotifyaudiosrc/imp.rs(279): <gstspotify::spotifyaudiosrc::imp::SpotifyAudioSrc as gstreamer_base::subclass::push_src::PushSrcImpl>::create (): /GstPlayBin3:pipeline-2-pipeline/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin1/GstSpotifyAudioSrc:spotifyaudiosrc1:\ntrack is not available"
            17:58:16.446 ERROR GstEngine:640                    GStreamer error: 2267 3 "Resource not found."
            

            So we're back to square one.
            At this point, I am very lost™️
            if there's anything you want to try or experiment with, happy to try!

            T 1 Reply Last reply Reply Quote 0
            • T
              tebriel @jasmint
              last edited by

              @jasmint the 1.2.29 release notes indicate that to build from source you should use the .tar.xz file located in the release assets, which includes an apicredentials.h file (not present in the git source tarball). Does using the .tar.xz get you all the way there?

              (which builds directly from git)

              Maybe it builds from the git .tar.xz asset not truly directly from git which, if so, you can ignore me.

              jonasJ J 2 Replies Last reply Reply Quote 0
              • jonasJ
                jonas @tebriel
                last edited by

                @tebriel

                I realize that the new API credentials I created is in development mode, apparently it has some limitations like rate limiting and maximum number users, so I'll need to switch back to using the old.

                821ac037-4602-4dd7-a04f-7ef14602084f-image.png

                1 Reply Last reply Reply Quote 1
                • J
                  jasmint @tebriel
                  last edited by jasmint

                  @tebriel

                  Maybe it builds from the git .tar.xz asset not truly directly from git which, if so, you can ignore me.

                  I had a poke around in the PKGBUILD of the official Arch package, and the source is

                  source=(git+https://github.com/strawberrymusicplayer/strawberry#tag=$pkgver
                          https://github.com/strawberrymusicplayer/strawberry/releases/download/$pkgver/$pkgname-$pkgver.tar.xz)
                  

                  So it does build from the .tar.xz asset (which may be a recent change after the credential thing). The more you know 🤔

                  @jonas
                  Oh i did notice I got rate limited before when trying to search up artists, so that's a nice change! I switched back to non-custom API credentials and can confirm there is no more rate limiting reported in the CLI 🙂

                  My Spotify tracks still don't play though (getting that same error of resource not found).
                  Running Strawberry with GST_DEBUG=3 strawberry --verbose

                  0:00:07.380990318     415737     415942 ERROR        spotifyaudiosrc audio/spotify/src/spotifyaudiosrc/imp.rs:278:<gstspotify::spotifyaudiosrc::imp::SpotifyAudioSrc as gstreamer_base::subclass::push_src::PushSrcImpl>::create:<spotifyaudiosrc0> track is not available
                  0:00:07.381084980     415737     415942 WARN                 basesrc gstbasesrc.c:3187:gst_base_src_loop:<spotifyaudiosrc0> error: Internal data stream error.
                  0:00:07.381095660     415737     415942 WARN                 basesrc gstbasesrc.c:3187:gst_base_src_loop:<spotifyaudiosrc0> error: streaming stopped, reason error (-5)
                  0:00:07.381131569     415737     415942 WARN                oggdemux gstoggdemux.c:4799:gst_ogg_demux_send_event:<oggdemux0> error: EOS before finding a chain
                  20:38:30.548 ERROR GstEnginePipeline:1867           ErrorMessageReceived ID: 1 Domain: 2267 Code: 3 Error: "Resource not found."
                  0:00:07.381152259     415737     415942 WARN                oggdemux gstoggdemux.c:2574:gst_ogg_demux_sink_event:<oggdemux0> EOS while trying to retrieve chain, seeking disabled
                  20:38:30.548 ERROR GstEnginePipeline:1868           ErrorMessageReceived ID: 1 Domain: 2267 Code: 3 Debug: "audio/spotify/src/spotifyaudiosrc/imp.rs(279): <gstspotify::spotifyaudiosrc::imp::SpotifyAudioSrc as gstreamer_base::subclass::push_src::PushSrcImpl>::create (): /GstPlayBin3:pipeline-1-pipeline/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstSpotifyAudioSrc:spotifyaudiosrc0:\ntrack is not available"
                  20:38:30.548 ERROR GstEngine:640                    GStreamer error: 2267 3 "Resource not found."
                  20:38:30.575 WARN  IconLoader:129                   Couldn't load icon "media-playback-start" from system theme icons.
                  20:38:30.575 WARN  IconLoader:129                   Couldn't load icon "media-playback-start" from system theme icons.
                  20:38:30.576 WARN  IconLoader:129                   Couldn't load icon "media-playback-start" from system theme icons.
                  20:38:30.576 WARN  IconLoader:129                   Couldn't load icon "media-playback-start" from system theme icons.
                  0:00:07.410709571     415737     415737 ERROR                GST_BUS gstbus.c:1081:gst_bus_remove_watch:<bus1> no bus watch was present
                  

                  I guess some part of my install is just borked... I did try deleting the Strawberry folder in .cache, but no change.

                  P 1 Reply Last reply Reply Quote 0
                  • P
                    PeterB @jasmint
                    last edited by

                    So it does build from the .tar.xz asset (which may be a recent change after the credential thing). The more you know :thinking_face: 
                    
                    

                    Not exactly. Its using the git tag.

                    J 1 Reply Last reply Reply Quote 0
                    • J
                      jasmint @PeterB
                      last edited by jasmint

                      @PeterB

                      Not exactly. Its using the git tag.

                      Oh, nvm then lol

                      (edit: I thought the playback suddenly started working again, but I was actually playing from my local files LMAO. nvm!)

                      1 Reply Last reply Reply Quote 0
                      • jonasJ
                        jonas @kxfu
                        last edited by

                        @kxfu
                        What version of gst-plugins-rs do you have?
                        The GStreamer Spotify plugin needs librespot 0.8 to play tracks, which is in version 0.14.4 and newer.

                        jonasJ 1 Reply Last reply Reply Quote 0
                        • jonasJ
                          jonas @jonas
                          last edited by

                          The issue could also occur of you don't have a premium subscription.

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post
                          Powered by NodeBB | Contributors