余計なログ出力を抑制
接続ソースがp2pかhttpか表示できるようにしてみた。
データ元ソースを参照できるように変数を追加
データソースがかわったときにtakStreamに報告する動作を追加
httpにもどったときに、rtmfpのsourceStreamをきちんと破棄するように変更。
swfにアクセスするだけで、rtmfpのネットワークにjoinするようにしてみた。
(ただしデータの転送はplayを押してからはじまる)
切断時のログ追加
接続の切断ログを追加
ping用のコネクション用netStreamを毎回生成から、生成streamの使い回しに変更した。
(これによりGCコストが下がるのと、オブジェクト数が増えなくなりCPU負荷が減りました。)
とりあえず、DataManagerまでリファクタリングしてみた。
さらにリファクタリングをすすめてみた。
p2p接続まわりリファクタリング完了。
余計なログの抑制
検証のため、ログ追記
リファクタリングを実行しました。
また、flfファイルのindexが戻ったときの動作で、複数同時に戻った場合に問題がでることがわかったので修正しました。
問題点発見。sourceとなるストリームがまったくない場合(httpやrtmpがない場合)でも動作を実行しようとしてしまうっぽい。
rtmfpのみの定義で、ソースが１つも存在していない場合は、ソースを要求するように変更。
p2pのみの状態で、データが足りなくなったときには、p2pを切りやり直すことにします。
p2p動作の場合に帯域がわるくなった場合は、他の接続に乗り換えることにします。
(ただし待機中になるたびにぷちぷちきれるので、あまりよろしくない。)
いい方法をあとで考えよう。