|
@@ -309,7 +309,9 @@ class Manager {
|
|
|
queueBuffer(s, b.sound, b.start + b.samples);
|
|
|
} else if (c.queue.length > 0) {
|
|
|
// queue next sound buffer
|
|
|
- queueBuffer(s, c.queue.shift(), 0);
|
|
|
+ var snd = c.queue[0];
|
|
|
+ if( queueBuffer(s, snd, 0) )
|
|
|
+ c.queue.shift();
|
|
|
} else if (c.loop) {
|
|
|
// requeue last played sound
|
|
|
queueBuffer(s, b.sound, 0);
|
|
@@ -532,13 +534,14 @@ class Manager {
|
|
|
|
|
|
// wait until fully decoded
|
|
|
if( s.buffers.length > 0 && BUFFER_STREAM_SPLIT > 1 && !progressiveDecodeBuffer(s, snd, start) )
|
|
|
- return;
|
|
|
+ return false;
|
|
|
|
|
|
// queue stream buffer
|
|
|
b = getStreamBuffer(s, snd, sgroup, start);
|
|
|
driver.queueBuffer(s.handle, b.handle, 0, b.isEnd);
|
|
|
}
|
|
|
s.buffers.push(b);
|
|
|
+ return true;
|
|
|
}
|
|
|
|
|
|
function unqueueBuffer(s : Source) {
|