産業用カメラに関するFAQ/時々アプリケーションがフリーズします。 このとき、アプリケー...

時々アプリケーションがフリーズします。 このとき、アプリケーションを強制終了すると、PCを再起動するまでTeliCamSDKがフリーズしたカメラを認識できなくなります。(デバイスマネージャ上では正常に(No.229)

ストリームをオープンする関数(Strm_Open()、Strm_OpenSimple())で、puiMaxPayloadSize引数に指定した変数を初期化し忘れている場合、このような事象が発生する場合があります。

puiMaxPayloadSize引数はカメラから受信する画像ストリームの最大ペイロードサイズを指定/取得するための引数です。

通常は、この引数に指定する変数の値を0にクリアしてからStrm_Open()、Strm_OpenSimple()を実行してください。

TeliCamAPIはpuiMaxPayloadSize引数が0の場合、カメラに設定されているパラメータに基づいて最大ペイロードサイズを計算して画像受信用内部パラメータを設定するとともにユーザアプリケーションに対して最大ペイロードサイズ値を返します。

puiMaxPayloadSize引数が0以外の値の場合、TeliCamAPIは指定された最大ペイロードサイズに基づいて画像受信用内部パラメータを設定します。画像サイズまたはPixelFormatを頻繁に変更する特殊な用途の場合、最大ペイロードサイズを指定してカメラをオープンすることがあります。

ストリームオープン時にpuiMaxPayloadSize引数に指定した変数が初期化されていない場合、予期しない値が最大ペイロードサイズとして設定されてしまいます。V2.0.1以前のTeliCamSDKではpuiMaxPayloadSize引数に指定された変数が過大な値を持っている場合でも、その値を内部パラメータを設定しまうため、アプリケーションがフリーズすることがあります。

puiMaxPayloadSize引数に指定する変数は必ず適切な値に初期化してください。

戻る

このFAQは、お役にたちましたか?

今後のFAQ作成の参考にさせていただくため、FAQについてのご意見等をご入力ください。(800文字以内)
下記にご記入いただいても、回答できませんのでご了承下さい。