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より導入

メソッド

メソッド 説明
FramesQueuedクラスライブラリリファレンス>クラス>IFrameQueueSinkListener>IFrameQueueSinkListener.FramesQueued Method このメソッドは、FrameQueueSinkクラスライブラリリファレンス>クラス>FrameQueueSinkがビデオキャプチャデバイスからフレームを受け取った際にコールされます。FramesQueuedの実行中に次のフレームを受け取った場合、戻った後すぐに次のFramesQueuedがコールされます。
SinkConnectedクラスライブラリリファレンス>クラス>IFrameQueueSinkListener>IFrameQueueSinkListener.SinkConnected Method このイベントは、ICImagingControl.LiveStartクラスライブラリリファレンス>クラス>ICImagingControl>ICImagingControl.LiveStart MethodまたはICImagingControl.LivePrepareクラスライブラリリファレンス>クラス>ICImagingControl>ICImagingControl.LivePrepare Methodの状態でFrameQueueSinkクラスライブラリリファレンス>クラス>FrameQueueSinkが接続された時にコールされます。
SinkDisconnectedクラスライブラリリファレンス>クラス>IFrameQueueSinkListener>IFrameQueueSinkListener.SinkDisconnected Method このイベントは、ICImagingControl.LiveStopクラスライブラリリファレンス>クラス>ICImagingControl>ICImagingControl.LiveStop Methodの状態でFrameQueueSinkクラスライブラリリファレンス>クラス>FrameQueueSinkが切断された際に コールされます。