2011/12/09(金)TVTestが終了時に落ちてその後の録画に失敗する

2011/12/09 16:54 PC(全般)
TVTestが原因と思われる録画失敗が多発しているため、前回の残件も含めてちょっと調査してみた。
[状況]
  • TvRock0.9u2 + TVTest0.7.23(Win7 x64) + PT2
  • 特定の入力デバイス(地デジ1なら地デジ1)に割り付けられた予約がある時刻から失敗している。
  • 確認してみると、TVTestが不応答状態で残っている(そのデバイスに割り付けられたもの)。
  • 録画ファイルが生成されていない(0bytesですら残っていない)
調査対象はTVTest0.7.15, 0.7.17, 0.7.18r3, 0.7.20, 0.7.21r2, 0.7.22r2, 0.7.23

まず、先日と同じく、コマンドラインは
>tvtest.exe /rec /recfile "test%test.ts"
で調査する。

[1]録画ファイル化けの問題。
  • 0.7.15-0.7.20は"test%test.ts%"になり化ける。
  • 0.7.21r2-0.7.23は"test%test.ts"になり正常。
[2]TVTest落ちの問題。
ドライバも何もない状態で起動し、数秒後に録画停止ボタンを押して録画停止する。
  • 0.7.15-0.7.17は正常に停止する。
  • 0.7.18r3-0.7.23は異常終了(ハンドルされていないWin32例外)する。
ここで、異常終了するケースで色々試してみると、
  • "/recexit"オプションを付けると異常終了しない。
  • ファイル名に"%"を含まない場合は異常終了しない。
"%"については残件調査のつもりで始めたのだが、ここで原因が確定してしまった。"%"を含むファイル名で録画すると、TvRockからTVTestの終了に失敗する。そうすると、手動でこのプロセスを落とすまで以降このTVTest側に割り付けられた予約がすべて失敗するということのようだ。具体的には前回と同じく、"うたの☆プリンスさまっ♪マジLOVE1000%"が原因で、その後に来た"UN-GO"と"ギルティ クラウン"が失敗したということになる。この話どうでもいいな。

"/recexit"を付けるとなんか改善するのは現行TVTest/RecTestの常っぽい(RecTestでも類似バグがあった)。

運用に関してはとりあえず/recexit付けて様子を見ることにする。改善要望出して、ソース読める時間とれたらもうちょっと解析してみよう。DirectX SDKとDirectShowのBaseClasses入れないといけない……
OK キャンセル 確認 その他