Bug 46897
| Summary: | REGRESSION: Audio on Forvo will not play | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Mark <perrinhouse> |
| Component: | Media | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | Major | CC: | ap, eric.carlson |
| Priority: | P1 | Keywords: | Regression |
| Version: | 528+ (Nightly build) | ||
| Hardware: | Mac (Intel) | ||
| OS: | OS X 10.6 | ||
| URL: | http://forvo.com | ||
Mark
Audio on Forvo, which uses HTML5 tags I think, will not play at all. With Safari 5.02 it plays eventually but may take 10s up to a minute or 2. On latest Chrome, it plays instantly.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Alexey Proskuryakov
My results:
Safari 5.0.2: sometimes works perfectly, other times crashes.
Thread 12 Crashed:
0 libSystem.B.dylib 0x00007fff83219668 asl_close + 19
1 com.apple.SystemConfiguration 0x00007fff834ceb25 __SCThreadSpecificDataFinalize + 30
2 libSystem.B.dylib 0x00007fff83204b68 _pthread_tsd_cleanup + 82
3 libSystem.B.dylib 0x00007fff8320481c _pthread_exit + 147
4 libSystem.B.dylib 0x00007fff83204309 thread_start + 13
Local debug build of r68339: just doesn't work, nothing happens when I press a play button. Nothing is logged to console.
Eric Carlson
I haven't reproduced the crash yet, but the audio doesn't autoplay because the element is created with setting innerHTML - https://bugs.webkit.org/show_bug.cgi?id=45188.
function Play(id, path_mp3, path_ogg) {
var path_mp3='http://'+_SERVER_HOST+'/player-mp3Handler.php?path='+path_mp3;
var path_ogg='http://'+_SERVER_HOST+'/player-oggHandler.php?path='+path_ogg;
var audioTagSupport = !!(document.createElement('audio').canPlayType);
if (audioTagSupport) {
myAudio = new Audio("");
canPlayMp3 = ("no" != myAudio.canPlayType("audio/mpeg")) && ("" != myAudio.canPlayType("audio/mpeg"));
canPlayOgg = ("no" != myAudio.canPlayType("audio/ogg")) && ("" != myAudio.canPlayType("audio/ogg"));
} else {
canPlayMp3 = false;
canPlayOgg = false;
}
if (navigator.userAgent.toLowerCase().indexOf('iphone')!=-1) {
window.location.href=path_mp3;
return false;
}
else if (canPlayMp3) {
var html='<audio autoplay="true"><source src="'+ path_mp3 +'"></audio>';
}
else if(canPlayOgg) {
var html='<audio autoplay="true"><source src="'+ path_ogg +'"></audio>';
}
else {
var html='<object type="application/x-shockwave-flash" data="'+player_path+'" width="1" height="1">'+
'<param name="movie" value="'+player_path+'" />'+
'<param name="flashvars" value="path='+path_mp3+'&_SERVER_HTTP_HOST='+_SERVER_HOST+'" />'+
'</object>';
}
var container=document.getElementById('player');
container.innerHTML=html;
sumHit(id);
return true;
}
*** This bug has been marked as a duplicate of bug 45188 ***