コールバックで GoodFrameなのか BadFrameなのかを判別する方法は?
コールバック関数に引き渡される lBufferSizeパラメータで判別します。
long CALLBACK CallbackFunc(BYTE * pBuffer, long lBufferSize,PVOID pContext )
lBufferSize == 0 の時、BadFrame
lBufferSize != 0 の時、GoodFrame
pBufferで判別してはいけません。
pBuffer == NULL はフレーム用メモリが確保されていない意味で、
GoodFrame時は NULLにはなりませんが、BadFrame時は不定です。
※ BadFrame時にもコールバックを呼び出させるためには、以下のコードを
初期化等の適切な箇所で実行させなければなりません。
ICubeSDK_SetCamParameter( n, REG_CALLBACK_BR_FRAMES, ON ); //nはカメラ番号
最後のパラメータの ON が BadFrame時にもコールバックを呼び出す設定です。
OFF では GoodFrame時のみコールバックが呼び出されます。