Tuesday, September 9, 2014

クライアントのバッファリング処理の実装を見直してます。

BoxのAPIを更新してから頻繁にコネクションが切れる現象に悩まされています。
切れるだけならまだしも、何度か失敗するとAudioManagerがハングアップして音が一切ならなくなる不具合に見舞われてるのでかなり問題。

原因はなんなのかなぁーといろいろコードを見なおしてみてるけど、よくわからなかったのですが、もしかしたら、という仮説を考えています。
その仮説というのは、MediaPlayerのバッファリングがいつまでたってもReadしてくれないのでサーバーがコネクションロストと判断して切断してるんじゃないのかなということです。
理由は、だいたい決まって30秒程度で失敗しているのとStackTraceのエラー内容から、、
MediaPlayerは再生分よりも多めにバッファリングしてますが、ある程度再生しないと次のバッファを読み込もうとしません。だからかなぁ、、
対応策として、ダウンロードのラインとMediaPlayerに供給するラインを別々にすることだとおもうので、ちょっと試しにこの実装をいれようかなとおもってます。
というわけで、次のバグ修正版のリリースが遅れると思います。
明日作業を見積もって長くかかりそうだったら、一旦現時点でバグを潰したバージョンをリリースします。

No comments:

Post a Comment