codecTypeが中途で変更になった場合もきちんと動作できるようにしてみました。

とりいそぎ、nellymoser 22k ch→aac 22k 2chに変更しても大丈夫だったみたいです。
とりあえず、linuxの環境で、ffmpegのpipeを使うことで、nellymoserやFlashMediaLiveEncoderによる、aacのデータをadpcm_ima_wavに変換し、matroskaとして取得することに成功した。

とりいそぎ問題なく動作している風・・・
本当はどうなのかは、やってみないとわからんけど。
とりあえず、無音挿入とかにも対応した形になった。
あとは、実際にiOSLiveTurboの動作をつくってみないとどうなるかわからん。
強いて言えばmkvのまま一旦保存することでどうなるか確認はできるけど。
映像の変換テストもやってみた。

mkv出力の再生はいい感じに動作したけど・・・
あとは、jettyを準備すればOKだな。
とりあえず、想定した動作はするようになった。
急にとめた場合に、きちんと止まらない問題があるけど、そこは、threadをdaemon化すれば問題ないはず。
workModuleにworkModuleをひもづけることができるようにしてみました。
本当はoutputModuleでもよかったんですが、複数のworkModuleを数珠つなぎにすることがあるかな・・・とおもった次第
workModuleは変数としてもっていても利用していないので、使わないようにしました。
変換処理用のモジュールのアドレスも晒しておく。
出力側にもworkModuleの設定を追加しました。
(IOutputModuleの親interfaceのworkModuleにつけたため。必要ないけど＾＾；)
Ozouniで利用するjettyサーバーの第一段つくりはじめました。
インデントを調整。
websocketの動作させるときにapplicationやclientを管理できるようにしてみようと思う。
とりあえず、applicationでまとめる動作をつくってみて書いてみたけど
このままだと、拡張がつくりにくい、
listenerを追加できるようにするのか、それとも、継承して利用できるようにするのか・・・
update
frameInputModuleから取得したフレームデータをwebsocketのclientに転送するモジュール。

とりあえずつくってみた。
Threadをdaemon化するようにしました。
これでおわったら一緒に普通におわる形になります。
Threadが宙にういたりしなくなる。
DataServerのやりとり動作の部分でThreadFactoryをつかってやってみました。
通常のServerDataHandlerだと、通信のやりとりがおわるまでブロックされるけど
jetty上でブロックされても困るので、別のServerDataHandlerを追加することにしました。
wtsを動作させる上でのメモ書きを追加しました。
js側でのサンプルレート変換ができないと、44100以外のサンプルレートでうまく動作できないことがわかったので、44100Hzで動作するようにしてみました。