Skip to content
This repository has been archived by the owner on Nov 22, 2021. It is now read-only.

Playback Gets "Stuck" Frequently #107

Closed
jasonseney opened this issue Jun 27, 2016 · 10 comments
Closed

Playback Gets "Stuck" Frequently #107

jasonseney opened this issue Jun 27, 2016 · 10 comments

Comments

@jasonseney
Copy link

I've noticed when listening to a few songs, the playback will stop and I'll get the 3 dot loading animation on the play/pause button for that track. Pressing play/pause on the keyboard or the interface does not fix it, however, if I click just 2-5 sec before the current mark it starts playing again with out issue.

I uses Soundcleod for 4-6 hours a day and this generally happens 2-8 times during that time. Note - I do use pause / play every 30 min.

Thank you for any help! I'm wondering if there's a buffering issue that might be surfaced due to my usage patterns?

@hacknug
Copy link
Contributor

hacknug commented Jul 2, 2016

Same here. I use SoundCleod for at least a couple hours every day (it's usually something between 6 and 8 hours, depending on what I'm working on) and it's been getting stucked for a while. As @jasonseney says, going back a few seconds solves the issue but it's a real pain in the ass doing that every time it happens. It also gets stucked at the end of the song sometimes.

Using macOS El Capitan 10.11.6 beta (15G24b) right now.

@jbergstroem
Copy link
Contributor

Fwiw, I get this in Safari too.

@genevera
Copy link

Here is some relevant console output (I'm seeing this also):

8/31/16 5:36:02.967 PM SoundCleod[37657]: CFNetwork SSLHandshake failed (-9806)
8/31/16 5:36:02.967 PM SoundCleod[37657]: NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9806)
8/31/16 5:36:03.611 PM SoundCleod[37657]: <<< FFR_Movie >>> ParseTrackExtendsAtom: *** Did not find fragment's track ID 2 in trackInfo
8/31/16 5:36:03.617 PM SoundCleod[37657]: <<< FFR_Movie >>> ParseTrackExtendsAtom: *** Did not find fragment's track ID 2 in trackInfo
8/31/16 5:36:17.248 PM SoundCleod[37657]: CFNetwork SSLHandshake failed (-9806)
8/31/16 5:36:17.248 PM SoundCleod[37657]: NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9806)

I haven't browsed the code yet but if there is some way to enable debug logging I'm happy to do so and paste in the results here.

@salomvary
Copy link
Owner

The background of this quite annoying bug lies in SoundCleod using a version of WebKit (the embedded browser engine) that is about the equivalent of an older version of Safari - which does not get first class support on soundcloud.com.

The possible solutions are:

  1. soundcloud.com supporting this older browser version (fix the playback bugs) - seems unlikely
  2. Change SoundCleod to use WKWebView (which uses a more recent WebKit engine). This would mean dropping support for pre-Yosemite OSX. See also Use WKWebView on Yosemite instead of WebView #66
  3. Rewrite SoundCleod to use Electron, which gets regular updates for WebKit and is the closest to Chrome in its feature set. Requires rewriting SoundCleod from grounds. See also Consider switching to Electron #101
  4. Switch to Chromium Embedded Framework. Not sure if it's better than any of the alternatives and definitely sounds like quite a bit of work.

@genevera
Copy link

I vote for whatever is easiest as this renders the application unusable for me once it starts. If it's a fast switch then wkwebview sounds like an ok solution.

...but that's me using a modern version of the OS. Is supporting 3+ year old versions of OSX really a higher priority than making sure that users with newer machines or who apply OS updates can use this app?

@jbergstroem
Copy link
Contributor

@salomvary how about major version bumping and switching to Yosemite+ in the major? Shouldn't be too hard to maintain parallel majors seeing how commit frequency is pretty low.

@salomvary
Copy link
Owner

Status update: I tried out the switch to WKWebView:

  • Playback seems to be working way better
  • The basic swap UIWebView / WKWebView was fairly simple
  • ...however practically every tiny SoundCleod feature broke thanks to the UIWebView / WKWebView incompatibility.

I don't think I can bear the pain of working with Cocoa/Objective-C any longer, seriously considering the switch to Electron. See #101 for updates..

@salomvary
Copy link
Owner

Fixed in 1.0.0.

@jasdev
Copy link

jasdev commented Sep 30, 2016

@salomvary: You rock! Thanks so much for the rewrite!

@genevera
Copy link

genevera commented Oct 1, 2016

Thank you!! 🙏

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

No branches or pull requests

6 participants