Phương pháp phân biệt GoodFrame hay BadFrame thông qua hàm callback là gì?

Bạn có thể xác định thông qua tham số lBufferSize được truyền vào hàm callback.

 

long CALLBACK CallbackFunc(BYTE * pBuffer, long lBufferSize,PVOID pContext )

 

Nếu lBufferSize == 0  tức BadFrame
Nếu lBufferSize != 0  tức GoodFrame

 

Không nên phán định bằng hàm pBuffer

 

Nếu `pBuffer == NULL`, điều này có nghĩa là bộ nhớ cho khung hình chưa được lưu. Trong trường hợp `GoodFrame`, `pBuffer` sẽ không `NULL`. Tuy nhiên, trong trường hợp `BadFrame`, giá trị của `pBuffer` là sẽ giao động lúc có lúc không.

 

※ Để gọi hàm callback ngay cả trong trường hợp `BadFrame`, bạn cần thực thi đoạn mã sau tại vị trí thích hợp trong quá trình khởi tạo hoặc tương tự:

 

ICubeSDK_SetCamParameter( n, REG_CALLBACK_BR_FRAMES, ON );  //n là mã của camera

 

Tham số cuối cùng ON là cài đặt để hàm callback được gọi ngay cả trong trường hợp ‘BadFrame’. Khi đặt ở chế độ OFF, hàm callback chỉ được gọi trong trường hợp ‘GoodFrame’.