using System;
using System.Runtime.InteropServices;
using TUCAMAPI;
namespace TUCamera
{
public class TUCameraDrawBuffer : TUCameraIFrameProcess
{
private TUCamera m_camera;
private FrameProcesserState m_state = FrameProcesserState.STOP;
private object lockObj = new object();
///
/// 预览
///
/// 相机
public TUCameraDrawBuffer(TUCamera camera)
{
m_camera = camera;
}
public void DoProcess(ref TUCAM_FRAME frame)
{
if (m_state != FrameProcesserState.PLAY)
{
return;
}
//Console.WriteLine("返回buf");
m_camera.CallbackDraw(frame, lockObj);
//Console.WriteLine("返回buf结束");
}
public void Stop()
{
Console.WriteLine("预览------结束");
m_state = FrameProcesserState.STOP;
}
public void Start()
{
Console.WriteLine("预览------开始");
m_state = FrameProcesserState.PLAY;
}
public void Pause()
{
m_state = FrameProcesserState.PAUSE;
}
public void Resume()
{
m_state = FrameProcesserState.PLAY;
}
public FrameProcesserState GetStatus()
{
return m_state;
}
}
}