音が出るまで、のこと 最後
まず、音がずれる件ですが、これは実装の処理の書き方が悪かったようです。送られてくるPCMデータをそのまま再生バッファに書き込むことで大きな問題とはならないようです。
次にバッサリ落ちる件ですが、これはバッファが境界をまたがる時に不正なメモリアクセスを起こすという問題でした。テストのためリングバッファのサイズを1MBにしていたので、少し普通に再生した後落ちたようです。
gdbで追っかけると関数memcpyで落ちていました。サイズ計算に間違いがあり、バッファサイズよりも1バイト超えてメモリをアクセスしていました。よく確かめたつもりだったのですが(^_^;
このようにして、ようやく音が普通に聞こえるようになったのでした。しかし、こうして修正したはずのソースファイルを誤ってなくしてしまい、嫌な汗を書くことになるのですが…
« ああ、ソースファイルが… | トップページ | 音が出るまで、のこと 最後 その2 »
コメント