また日記書いてなかった。3月中には上げようと思ってたんだけどな。
しばらく生活リズムがやべえことになってたのがなんとか立て直しつつある。維持していきたい。 あと急に暑くなったのもあって体調を崩した。つらい。
しかしなんかやってたっけかな。プラモ作ってるくらいだった気もする。 BLLUET KNIGHTS エクスキューショナーを作ったので写真上げときました。
そういや初めて確定申告やったわ。 昨年は会社を移ったので確定申告が必要になるみたいなことを言われてたんだけど、年末調整見たら前の会社の分も含まれてるみたいでこれ確定申告ほんとに必要か?と思いつつやってみたら、まあ年末調整に含まれてるもんだから別途書きようもなくてやっぱり必要なかったのかもしれない。 なんも難しいところもなかったし6000円弱くらい返ってくることになったのでやって良かった気もする。
もう会社移ってちょうど1年か。ずっとテレワークになってからも1年ちょい。 細かい仕事が散発的に入ってくるだけでだいたいは暇だった前の会社もよかったなと思うこともあるが、それよりちゃんとやること見えてる今の仕事の方が精神的にはだいぶ楽なんよな。 数年間サポート対応的な仕事しかしてなかったので技術力はもうだめだめになってたのが痛い。 テレワークはもうずっとこれでいいよ。通勤しないから花粉の影響少ないし。
不具合修正してた気がする。
パケットサイズがやけに小さいんだが?と報告が来たので調べてみる。 どうもFLV配信時のパケットまとめこみがちゃんと動いてないようだ。
パケット毎にこれはオーディオのパケット・ビデオのイントラフレーム・ビデオのインターフレームと区別するようにしてみてたんだが、 違う種類のパケットはまとめこむわけにいかないな、とやってたらオーディオとビデオのパケットが交互に来るので一切まとまらないようになっていた。 これはまずい。 パケットの種類は今後使えるかもということで区別してたんだけど、今のところ使ってないので外すかー。 ということで外して解決した。
ついでにパケットは8KiB越えるまでまとめるようにしてたんだが、15KiBくらいまでまとめても大丈夫そうだったんでそうしてみた。 あんまりまとめると遅延が増えそうだなーと思ってたんだけど、15KiBくらい一瞬だったので気にするほどじゃなかった。 PeerCastStationは秒数でパケット保持してるからいいんだけど、従来のPeerCastは64パケット固定で保持してるからあんまりパケット多くなるとバッファが短くなっちゃうのよね。
YPを見ているとずっと配信してるのに度々配信時間がリセットされるチャンネルがあるのが気になる。 YPへのチャンネル情報の送信間隔がギリギリだったりする? 最低でも30秒毎にはチャンネル情報を送ってるんだが、そもそもYPが期待する送信間隔っていくらだっけ。 PeerCastのソースを見てみると、送信間隔はPCP_ROOTというパケットに入れてYP側が送ってくるみたい。うわ全然処理してないわ。 PCP_ROOTを受け取れるようにしていったいいくらに設定されてるのかまず見てみたんだが、30秒よりはずっと長いことがわかった。 処理すべきってのは確かなんだが、べつに無くても事実上は問題なさそう。まあ今まで問題なかったしな。
結局原因不明だなーと思ったが、何度か試してると配信を止めたのにYPからPCP_ROOTパケットをいつまでも受信している。配信止めたらYPとの接続も切れるはずだが……って、チャンネル停止しましたイベントを発火してねえじゃねえか。そのイベント見てYPとの接続切ってるんでいつまでもつながりっぱなしになってるようだ。これはやばい。 配信時間がリセットされるのもこれで説明できそうだ。一度配信を止めて再度同じ名前のチャンネルを建てた時に、チャンネル情報が既に終了してるやつと今配信してるやつの2つが送られてしまう。YPは両方処理するので終了と開始が短時間で繰り返されてるように見えるわけだ。やばいやばい。
これはやばいのでさっさと直してリリースした。ちゃんとYP接続部分にもログ出力を入れとくべきだったな。
とりあえず気になる不具合は直ったと思うので、またいろいろ追加したり整理していきたい。