Clementine: SoundCloud playback is not working

Created on 15 Nov 2016  Â·  36Comments  Â·  Source: clementine-player/Clementine

Before posting

Please follow the steps below and check the boxes with [x] once you did the step.

  • [x] I checked the issue tracker for similar issues
  • [x] I checked the changelog if the issue is already resolved
  • [x] I tried the latest Clementine build from here

System information

Please provide information about your system and the version of Clementine used.

  • Operating System: Ubuntu 16.04.1 LTS 64-bit
  • Clementine version: 1.3.1-228-gd9b3a93

Expected behaviour / actual behaviour

Good day, for some reason SoundCloud playback doesn't work for me at the moment, something changed in their API maybe? Playback works just fine from browser.These are the details of the bug when I start Clementine from terminal to check debug:

9:25:22.253 DEBUG PlaylistBackend:294 Saving playlist 1
09:25:22.329 DEBUG MainWindow:1477 position 0 scrobble point 240 status 0
09:25:22.605 ERROR GstEnginePipeline:645 3 "gstsouphttpsrc.c(1640): gst_soup_http_src_parse_status (): /GstPipeline:pipeline/GstURIDecodeBin:uridecodebin-30/GstSoupHTTPSrc:source:
Too Many Requests (429), URL: https://api.soundcloud.com/tracks/292286323/stream?client_id=2add0f709fcfae1fd7a198ec7573d2d4, Redirect to: (NULL)"
09:25:22.605 ERROR GstEnginePipeline:645 3 "gstbasesrc.c(2948): gst_base_src_loop (): /GstPipeline:pipeline/GstURIDecodeBin:uridecodebin-30/GstSoupHTTPSrc:source:
streaming task paused, reason error (-5)"
09:25:22.605 ERROR GstEnginePipeline:645 3 "gsttypefindelement.c(983): gst_type_find_element_chain_do_typefinding (): /GstPipeline:pipeline/GstURIDecodeBin:uridecodebin-30/GstTypeFindElement:typefindelement2:
Can't typefind stream"
09:25:22.608 WARN GstEngine:690 Gstreamer error: "Too Many Requests"
09:25:22.609 ERROR logging:56 Source ID 63 was not found when attempting to remove it
09:25:22.613 WARN unknown QTimeLine::start: already running
09:25:22.663 DEBUG unknown "
09:25:22.663 DEBUG unknown
09:25:22.663 DEBUG unknown Menno de Jong Cloudcast 051 - November 2016 - Dreamstate Warmup
09:25:22.663 DEBUG unknown Menno de Jong
09:25:22.663 DEBUG unknown
09:25:22.663 DEBUG unknown
09:25:22.663 DEBUG unknown
09:25:22.663 DEBUG unknown

09:25:22.663 DEBUG unknown

09:25:22.663 DEBUG unknown "

Steps to reproduce the problem (only for bugs)

Simply playing any song from SoundCloud results in skipping the tracks without even buffering.

Most helpful comment

invalid_client: The client identifier provided is invalid.

All 36 comments

It seems to be working now, probably something was up with their servers...

EDIT: Same as before, something is still preventing me from playing music. :(

I'm experiencing the same problem @szekeres2016 is with both clementine git and the stable ubuntu 16.10 package. Accessing the stream URL in question (https://api.soundcloud.com/tracks/292286323/stream?client_id=2add0f709fcfae1fd7a198ec7573d2d4) returns a relevant error response:

{"errors":[{"meta":{"rate_limit":{"bucket":"by-client","max_nr_of_requests":15000,"time_window":"PT24H","name":"plays"},"remaining_requests":0,"reset_time":"2016/11/16 17:25:08 +0000"}}]}

If Clementine is being rate-limited by the SoundCloud API, that would explain why the problem is so intermittent. Hopefully it's not indicative of somebody abusing the API using Clementine's client id.

I do have the same problem, but it only happen at the end of the day, which might confirm it is a rate limiting problem. What step could be taken to resolve this issue?

Experiencing the same problem on

  • Ubuntu 15.10 wily
  • Clementine 1.3.1

clementine_bug_report

@ArnaudBienner It seems you created the Soundcloud api client, maybe there is a way to increase the number of play requests per day?

Can confirm here, using latest nightly build for Debian Jessie AMD64

When opening the URL referenced on the log, I get the same JSON (?) response as @ToucheSir

{"errors":[{"meta":{"rate_limit":{"bucket":"by-client","max_nr_of_requests":15000,"time_window":"PT24H","name":"plays"},"remaining_requests":0,"reset_time":"2016/11/28 18:54:18 +0000"}}]}

Haha lol. Limited requests, so that's the reason?

On Mon, 28 Nov 2016 15:20 Tom Maneiro, notifications@github.com wrote:

Can confirm here, using latest nightly build for Debian Jessie AMD64

When opening the URL referenced on the log, I get the same JSON (?)
response as @ToucheSir https://github.com/ToucheSir

{"errors":[{"meta":{"rate_limit":{"bucket":"by-client","max_nr_of_requests":15000,"time_window":"PT24H","name":"plays"},"remaining_requests":0,"reset_time":"2016/11/28
18:54:18 +0000"}}]}

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/clementine-player/Clementine/issues/5538#issuecomment-263269359,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFG20-_aO0ZMBHzsrFZko_eNXRFewhHBks5rCtUcgaJpZM4KyQYw
.

>

Daniel Andrei Mincă
GPG Key Fingerprint = C4A3 8F02 9F1F 6567 6957 BC34 90CD 7C62 81DF 875D
GPG Public Key = 81DF875D

Same thing here

{
"errors": [
{
"meta": {
"rate_limit": {
"bucket": "by-client",
"max_nr_of_requests": 15000,
"time_window": "PT24H",
"name": "plays"
},
"remaining_requests": 0,
"reset_time": "2017/04/01 10:57:07 +0000"
}
}
]
}

More info about rate limits in SoundCloud
https://developers.soundcloud.com/docs/api/rate-limits

Same problem. How does Clementine manage to generate 15.000 requests within 24h?

@coert that quota is for the app key, all users of Clementine share the same app key. It would be good if one could configure each their own app key instance.

+1 to @luislobo 's idea of letting users add their own Soundcloud API key. I know I would. And I'm positive I wouldn't even scratch 100 requests per day... let alone 15K! 😉

@jeanlescure The problem is that getting an API key for SoundCloud is pretty complicated right now: they are reviewing every application manually and rejecting a lot of those.

There are 2 sustainable ways I can see here going forward:

  • Someone (this community?) could lobby SoundCould to change they are ratelimiting their API re opensource or non-commercial apps. Instead of grouping requests per app token, they could instead do that per user. This is an incredibly long shot, AFAICS.
  • Re-write the SoundCloud module to hit the web endpoints instead of their API, at least for plays (that's the only endpoint they are ratelimiting on right now): there is no identifiable key involved, and they can't really block the entire app, especially if the module masquerades as a popular browser. Even thinking about this approach feels unpleasant, and it's potentially fragile (SC do not guarantee stability of the web endpoints), but as their API is essentially broken for Clementine right now, I don't really see a better option.

Thoughts?

@forwidur I would seriously advocate against second option as I have experienced the instability of said web endpoints myself.

Wouldn't mind giving first choice a try... as I read it, couldn't help but thinking:

So you're telling me there's a chance

😄

@jeanlescure Well, you don't need permission from anyone to go and try to convince SoundCloud to change their ways. :-)

says : invalid_client: The client identifier provided is invalid on soundcloud login

invalid_client: The client identifier provided is invalid.

I'm getting the same error mentioned by @rajithwijepura.

Confirming that I'm getting the same invalid_client error when trying to log in. I hope it gets fixed, as this made Clementine my complete music player for my net music libraries in the past (but get it's not the app's fault)

Same error, "invalid_client: The client identifier provided is invalid".

Same for me with Clementine 1.3.1 on macOS Sierra (10.12.6).
"invalid_client: The client identifier provided is invalid."

Same error for me. Windows 1709

Same error for me. I'm on Arch Linux.
"invalid_client: The client identifier provided is invalid."

Also the same error when trying to login from Clementine Version 1.3.1 on Arch Linux

invalid_client: The client identifier provided is invalid.

PLEASE, fix it

Guys, you don't get it: there is no fix here, outside of replacing SoundCloud executive team. This bug won't be fixed.

@forwidur Uh... You’re right. I don’t get it.

@COOLIRON2311 This has been explained above, but there is a quick recap: SoundCloud throttles their API per application token, not per user. Hence across all the Clementine installations there can only be a limited number of listening sessions active at the same time.

Thanks for clarifying.
Is there any easy way of making a unique application instance for each installation/user of clementine?
I'm not a developer, so please excuse me if this is a ridiculous suggestion.

@alleyoopster I think they'd need to add some way for users to enter their own SoundCloud API key into Clementine. It's not a ridiculous suggestion, but given that the percentage of Clementine users that:
a) want to use SoundCloud,
b) would be willing to go through the effort of setting up the their own API key for this use case, and
c) have the technical savvy to do so
is probably quite small, I'm guessing this is not a feature/fix that would be prioritized any time soon.

@austen0 Were you able to get your own SoundCloud token?

@forwidur No, I have not (looks like they're not even accepting applications anymore). Sorry, didn't mean to imply that SoundCloud being stingy with API keys is not still a blocker.

On Tue, Jan 30, 2018 at 3:36 PM, austen0 notifications@github.com wrote:

@forwidur https://github.com/forwidur No, I have not (looks like
they're not even accepting applications anymore). Sorry, didn't mean to
imply that SoundCloud being stingy with API keys is not still a blocker.

​Ah, sorry, I have misread your message.

Just for posterity: if this changes and people are able to get individual
tokens I'm willing to spend time to add the feature to the plugin.​

--
Max

It seems to be a general problem to stream from a secured https connection:
https://github.com/clementine-player/Clementine/issues/6134

@karstengit probably not but as said Jonarski there (in #6134 ) that may be your local problem.

@forwidur maybe tell it here #5766 - most of ppl was talking about it there. But probably SoundCloud will die.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

MoOx picture MoOx  Â·  4Comments

Clementine-Issue-Importer picture Clementine-Issue-Importer  Â·  5Comments

AndydeCleyre picture AndydeCleyre  Â·  6Comments

teneri66 picture teneri66  Â·  4Comments

MavropaliasG picture MavropaliasG  Â·  3Comments