Skip to content

Commit 132c077

Browse files
author
Joel Steres
committed
Check for http status code errors or FileReader errors in loadBuffer
1 parent c6b3e9e commit 132c077

File tree

1 file changed

+17
-9
lines changed

1 file changed

+17
-9
lines changed

lib/webaudiox.loadbuffer.js

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,27 @@ WebAudiox.loadBuffer = function(context, url, onLoad, onError){
2121
// counter inProgress request
2222
WebAudiox.loadBuffer.inProgressCount++
2323
request.onload = function(){
24-
context.decodeAudioData(request.response, function(buffer){
25-
// counter inProgress request
26-
WebAudiox.loadBuffer.inProgressCount--
27-
// notify the callback
28-
onLoad(buffer)
29-
// notif
30-
WebAudiox.loadBuffer.onLoad(context, url, buffer)
31-
}, function(){
24+
// Check XMLHttpRequest.status or FileReader.error parameter
25+
if( (request.status && request.status < 400) || (!request.status && !request.error) ){
26+
context.decodeAudioData(request.response, function(buffer){
27+
// counter inProgress request
28+
WebAudiox.loadBuffer.inProgressCount--
29+
// notify the callback
30+
onLoad(buffer)
31+
// notif
32+
WebAudiox.loadBuffer.onLoad(context, url, buffer)
33+
}, function(){
34+
// counter inProgress request
35+
WebAudiox.loadBuffer.inProgressCount--
36+
// notify the callback
37+
onError()
38+
})
39+
} else {
3240
// counter inProgress request
3341
WebAudiox.loadBuffer.inProgressCount--
3442
// notify the callback
3543
onError()
36-
})
44+
}
3745
}
3846
request.send()
3947
}

0 commit comments

Comments
 (0)