IFrameQueueSinkListener
FrameQueueSinkクラスライブラリリファレンス>クラス>FrameQueueSinkによって使用されるインターフェースで、状態変化の通知や新しいフレームのコールバックを提供します。
サンプル
[C#]
class FrameQueueSinkListener : IFrameQueueSinkiListener
{
public void SinkConnected(FrameQueueSink sink, FrameType frameType)
{
// ここで、正しいタイプを持った5つのキューバッファを割り当てます。
sink.AllocAndQueueBuffers(5);
}
public void SinkDisconnected(FrameQueueSink sink, IFrameQueueBuffer[] dequeuedInputBuffers)
{
foreach(IFrameQueueBuffer buf in dequeuedInputBuffers )
{
// これは実質的にsink.PopInputQueueBuffersです。
}
// これらはすでにコピーされたバッファで、コールされていないバッファです。
IFrameQueueBuffer[] outputBuffers = sink.PopAllOutputQueueBuffers();
}
public void FrameQueued(FrameQueueSink sink)
{
IFrameQueueBuffer[] buffers = sink.PopAllOutputQueueBuffers();
foreach (IFrameQueueBuffer buf in buffers)
{
// bufに対する関数をコールしてください。
// シンクの入力キューに直接キューイングできるため、その関数がバッファを保持しないことを期待しています。
sink.QueueBuffer(buf);
}
// PopAllOutputQueueBuffersをコールした後、新しいバッファが到着するとすぐに、新たにコールされるため
// ここでExitすることが可能です。
}
}
FrameQueueSinkListener listener = new FrameQueueSinkListener();
FrameQueueSink.sink = new FrameQueueSink(listener, MediaSubTypes.RGB32);
ICImagingControl1.Sink = sink;
インフォメーション
ネームスペース: TIS.Imaging
IC Imaging Control 3.5より導入