Soundcloud is currently not working on WebKitGTK, stalling after a few seconds. See for instance:
After a little analysis I found it uses MSE with MP4 audio, but its fragments have all their tfdt's set to zero, which is *super wrong*. This means that it appends audio fragments without telling the browser what part of the timeline they pertain.
But that bears the question, how does it manage to work in other platforms? It works in Chrome and Firefox.
I suspect other browsers may be repairing the file by assuming every fragment has the same duration in cases and multiplying it by the sequence number. This problem can be detected safely because when it is present (tfdt == 0 && sequence_number > 0).
Eric, Jer, is this working for you? Why?
The workaround would likely be in the demuxer, not in WebKit code.
That site is currently serving Safari .mp3s, not mp4s:
> [Debug] MediaSource::addSourceBuffer(B9E70A31) audio/mpeg
That could explain why it's working for Mac ports.
I suggest trying a Mac user agent quirk, then.
I found out that soundcloud plays fine by edit the sting /org/gnome/epiphany/web/user-agent with dconf-editor to "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36"
Okay "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:64.0) Gecko/20100101 Firefox/64.0" Seems to be a better workaround because the other one breaks youtube somehow with epiphany.
Created attachment 431772 [details]
Committed r279039 (238959@main): <https://commits.webkit.org/238959@main>
All reviewed patches have been landed. Closing bug and clearing flags on attachment 431772 [details].