none
【DirectShow】WaitForCompletionから応答がない RRS feed

  • 質問

  • DirectShowを使って、複数のJPEG画像を1つのAVIファイルにしようとしています。

    例えば、180枚のJPEG画像を30fpsで6秒のAVIを作る際に、以下のようにグラフの実行をして、WaitForCompletionに応答があると停止させています。

    //グラフの実行
    result = pControl->Run();

       ・

       ・

    hr = pEvent->WaitForCompletion(INFINITE, &evCode);
    pControl->Stop();

    しかし、何回かに1回は応答が帰ってこないで固まってしまいます。

    JPEG画像の枚数は、30枚、60枚、、、、150枚、180枚、、、1350枚と色々試しています。

    120枚くらいまでは何回実行しても成功するのですが、150枚以上になるとたまに固まります。

    固まるのが一定ではないため、何が原因なのかがわかりません。

    1350枚で成功することもあります。(1350枚は時間がかかるのであま試してはいません)

    また、上記の固まる現象の他にもう1つパターンがあり、グラフの実行が不完全に終わるパターンです。

    180枚で実行しているのに、50枚くらいでWaitForCompletionの応答が返ってきます。

    DirectShow初心者でWEBのサンプルを参考にしながら組んでいますが、DirectShowに特化した参考書がないためはまってしまってます。

    同じような問題を解決された方、もしくは原因がわかるかた、ご教授お願いします。

    2016年5月26日 5:27