日々

TSパケットの確認をするプログラムは、昨日の続き。録画時間が一番大きい番組の選択を実装。同じ時間なら一番サービスIDが若いものを選択。同じサービスIDなら一番開始時間が早いものを選択。さらに開始マージンと終了マージンの取得を実装。ここで、いくつかのTSファイルで動作を確認していると、サービス名の取得をミスっていたことが判明。ARIBコード変換をミスってるかと思って慌てた(汗)
その後、PCRの経過時間の取得を実装、その値を使ったTOTの補正を実装。tsselect相当のエラーチェックを実装。これで機能的にはひと通り実装完了。あとは出力の見た目を整えて、0x47で始まらないパケットの対応を組み込んで、TSファイルが開けない場合とかのエラー処理作って、ARIB文字コード変換の未実装部分を作って、エラー発生時のエラーコードを返す処理とか作れば出来上がる予定。
定時後、遅くなったけど第二神明で帰宅しようと思ったら大蔵谷から大渋滞だったので、大蔵谷で降りて旧神明で帰宅。途中、旧神明沿いの丸亀製麺とかの手前にパソコン工房が移転してた。晩御飯は卵焼きとコロッケとじゃがいもの味噌汁。
メルヘン・メドヘン見てる間に急激な眠気が来たのでこたつソファで横になって寝る。目が覚めたら夜11時を回ってた。
ふと、TSパケットの確認をするプログラムでARIBコード変換をミスってるかと思った際、参考になりそうなソースを片っ端から眺めてる時にepgrecで使ってるepgdumpを見たけど、あれはr2で元が2senにあるっぽいので調べてみた。どうやらDTV関係ファイル置き場で2009年3月1日に公開されたLinux用 epgdump r1 EPGの内容を出力するプログラム(up0017.zip)が原本っぽい。
が、epgdump r1のドキュメントを読んでみると、さらにその元となるのはFriio関係ファイル置き場で2008年8月31日に公開されたSolaris用 録画プログラムと認識ドライバー(up0737.zip)にオマケとして含まれているepgdumpコマンドだと判った。しかし、こちらのドキュメントを読むと肝心なARIB文字コード処理はBonTest Ver.1.40から持って来たと書いてある。
確認すると、Friio関係ファイル置き場で2008年3月31日に公開された「BonTest Ver.1.40」 TSファイル再生追加(実験) @拡張ツール中の人(up0348.zip)よりも古い2008年3月21日に公開された「BonTest Ver.1.30」 スタンドアロンビューアのテスト @拡張ツール中の人(up0309.zip)にもその処理が含まれていたが、2008年3月9日に公開されたBonTest Ver.1.20には含まれていないことが判った。
ARIB文字コード処理はTsEncode.cppとTsEncode.hにあった。1.30と1.40で特に違いは無い模様。