argentum384 / flmml-on-html5

Porting of FlMML to HTML5
BSD 3-Clause "New" or "Revised" License
29 stars 8 forks source link

再生またはオーディオファイル出力が停止してしまうことがある問題の修正 #58

Closed argentum384 closed 1 year ago

argentum384 commented 1 year ago

の対応


https://github.com/argentum384/flmml-on-html5/blob/d707042dd5627b57c526db63ec41e7c9018dcb88/src/flmml/MSequencer.ts#L241 の分岐進入時に this.m_step が 3 (=MSequencer.STEP_POST ) だとバッファを作り終えているのにバッファリング状態になり、以降ずっとバッファの返却がスタックするようになっていた。

対処として↑の状況の場合早期 return してバッファリング状態になるのを回避する。
(次の onSampleData 呼び出し時には this.m_step が 4 (=MSequencer.STEP_COMPLETE ) になっているはずなので既存の分岐に戻る)