샘플그래버로 Callback 이벤트를 항상 온시켜서 비디오 판넬과 이미지 판넬에 연속해서 동영상을 내보내게 하였습니다. 그리고 좀있다보면 에러는 안나는데 갑자기 프로그램이 응답없음에 빠집니다.
메모리 점유률의 경우 크나큰 변동이 없습니다. 처음 실행과 나중실행이 크게 차이 나지 않더군요.
SampleGrabber 의 버퍼 이벤트는 아래와 같이 처리하였습니다.
procedure TfmMain.SampleGrabber1Buffer(sender: TObject; SampleTime: Double;
pBuffer: Pointer; BufferLen: Integer);
begin
imgTemp.Canvas.Lock; // to avoid flickering
try
SampleGrabber1.GetBitmap(imgTemp.Picture.Bitmap)
// SampleGrabber1.GetBitmap(imgTemp.Picture.Bitmap, pBuffer, BufferLen)
finally
imgTemp.Canvas.Unlock;
end;
end;
데모로 있던 프로그램 소스를 가져와