tsquillario / Jamstash

HTML5 Music Streamer for Subsonic
http://jamstash.com
273 stars 87 forks source link

Hang randomly on playing after upgrading to Chrome 18. #23

Closed cchsieh closed 12 years ago

cchsieh commented 12 years ago

After uprading Chrome to version 18.0.1025.142, minisub hangs randomly on playing. I need to close the webpage and start a new one. Refresh (F5) is no use.

No such problem when using chrome version 17.

What I can do for this situation ? What information I can give u ?

tsquillario commented 12 years ago

HTML5 audio support in Chrome is buggy to say the least. You also can't easily load flash files with a Chrome App.

I've switched over from the AudioJS library to SoundManager2, hopefully that will add better support. I'm working on a beta version with no progress bar. I will send you a link to test hopefully soon.

tsquillario commented 12 years ago

I just pushed version 1.9 which switches to the SoundManager2 audio library. I have to force it to use HTML5 over Flash so we are still relying on Chrome's

cchsieh commented 12 years ago

Thank you for updating so quickly !!! But it still hangs randomly (Chrome 18 and MiniSub 1.9). I searched google and found the following webpage:

http://code.google.com/p/chromium/issues/detail?id=107933

In comment #35, there maybe be a solution for preventing Chome from hanging.

I looked into your code app.js - funciotn playSong(), it seems to detroy old and create new one to play the next song. Is it possible to change to reuse old one in the cyclic way ?

tsquillario commented 12 years ago

Pushed another update with some tweaks to the SoundManager code. If this doesn't help I might switch back to AudioJS. Not sure what direction to go next...

cchsieh commented 12 years ago

It seems stable and no hang till now. Thanks !!!

The webpage seems no hang anymore, but the player seems sometimes stop playing automaticlly (need to press the next song).

I'll do more test later.

cchsieh commented 12 years ago

I tried old veriosn (AudioJS) with audio.js (not audio.min.js) ... Chrome also hangs ...

tsquillario commented 12 years ago

Yea this is a bitch. I've narrowed it down to what I think is the issue. If you compare the Request of a working call to stream.view to the last one where it failed and music stopped the Range request header should be "Range: bytes=0-". On the failed one it's set to a range in the middle of the file. Since it's a request header it wouldn't be anything on the Subsonic side.

_Working GET /subsonic/rest/stream.view?u=tsquillario&p=enc:456c657068616e7431&v=1.7.0&c=MiniSub&f=jsonp&id=443a5c4d757369635c6954756e65735c576964657370726561642050616e69635c50616e696320696e2074686520537472656574735c312d3039205370616365205772616e676c65722e6d7033 HTTP/1.1 Host: tsquillario.dyndns.org:8443 Connection: keep-alive Accept-Encoding: identity;q=1, ;q=0 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.142 Safari/535.19 Accept: /_ Accept-Language: en-US,en;q=0.8 Accept-Charset: ISO-8859-1,utf-8;q=0.7,;q=0.3 Cookie: JSESSIONID=DB4385A97ABB4DF081108CC3784BC4FB; player-74737175696c6c6172696f=12 Range: bytes=0-

_Not Working GET /subsonic/rest/stream.view?u=tsquillario&p=enc:456c657068616e7431&v=1.7.0&c=MiniSub&f=jsonp&id=443a5c4d757369635c6954756e65735c576964657370726561642050616e69635c50616e696320696e2074686520537472656574735c312d3039205370616365205772616e676c65722e6d7033 HTTP/1.1 Host: tsquillario.dyndns.org:8443 Connection: keep-alive Accept-Encoding: identity;q=1, ;q=0 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.142 Safari/535.19 Accept: /_ Accept-Language: en-US,en;q=0.8 Accept-Charset: ISO-8859-1,utf-8;q=0.7,;q=0.3 Cookie: JSESSIONID=DB4385A97ABB4DF081108CC3784BC4FB; player-74737175696c6c6172696f=12 Range: bytes=4292608-22398432

tsquillario commented 12 years ago

Chrome cache issue http://forum.subsonic.org/forum/viewtopic.php?f=8&t=8749&p=39376

Content-length in latest beta http://forum.subsonic.org/forum/viewtopic.php?f=2&t=7710

Trying the Chrome cache fix, I'm appending a random salt to the stream API calls.

If that doesn't work I'll try to upgrade to the latest beta code base from Sindre.

tsquillario commented 12 years ago

98% sure the cache fix is working! will leave it play for the rest of the album, then post the updates to the web.

tsquillario commented 12 years ago

1.9.2 pushed to the Chrome Web Store. Test it out please!

cchsieh commented 12 years ago

Sorry for replying so late (I went to sleep :P) ... I'll test later. Thanks !!!

cchsieh commented 12 years ago

I played over an hour and seems stable now, no hang and no stop. It's very great !!! Thanks !!! I'll continue to test at work later ...

cchsieh commented 12 years ago

I played songs over 2:30 and everything is great, no hang and no stop. ^_^ ...

tsquillario commented 12 years ago

This was a pain, hopefully it is fixed for good! or until Google breaks it again, lol