Exemplo n.º 1
0
		/// <summary>
		/// フレームキャプチャ完了時に呼び出されるコールバック関数
		/// </summary>
		/// <param name="sample_time">サンプルタイム</param>
		/// <param name="addr">サンプルデータの先頭アドレス</param>
		/// <param name="length">サンプルデータ長 (bytes)</param>
		/// <returns>
		///		DSLab.HRESULT.S_OK を返します。
		/// </returns>
		int ISampleGrabberCB.BufferCB(double sample_time, IntPtr addr, int length)
		{
			if (this.Enable)
			{
				var args = new CxSampleGrabberEventArgs(sample_time, addr, length);
				if (this.Notify != null)
					this.Notify(this, args);
				if (args.Cancellation)
					return (int)HRESULT.S_FALSE;
			}
			return (int)HRESULT.S_OK;
		}
Exemplo n.º 2
0
		/// <summary>
		/// フレームキャプチャ完了時に呼び出されるコールバック関数
		/// </summary>
		/// <param name="sample_time">サンプルタイム</param>
		/// <param name="sample_data">サンプルデータ</param>
		/// <returns>
		///		DSLab.HRESULT.S_OK を返します。
		/// </returns>
		int ISampleGrabberCB.SampleCB(double sample_time, IMediaSample sample_data)
		{
			if (this.Enable)
			{
				var args = new CxSampleGrabberEventArgs(sample_time, sample_data);
				if (this.Notify != null)
					this.Notify(this, args);
				if (args.Cancellation)
					return (int)HRESULT.S_FALSE;
			}
			return (int)HRESULT.S_OK;
		}
Exemplo n.º 3
0
 /// <summary>
 /// 同期用: サンプルグラバーの通知イベント
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void VideoGrabberCB_Notify(object sender, CxSampleGrabberEventArgs e)
 {
     var index = (this.BufferIndex + 1) % this.Buffer.Length;
     var image = e.ToImage(VideoInfoHeader);
     this.Buffer[index] = image;
     this.BufferIndex = index;
 }
Exemplo n.º 4
0
 /// <summary>
 /// �t���[���L���v�`���������ɌĂяo�����R�[���o�b�N�֐�
 /// </summary>
 /// <param name="sample_time">�T���v���^�C��</param>
 /// <param name="addr">�T���v���f�[�^�̐擪�A�h���X</param>
 /// <param name="length">�T���v���f�[�^�� (bytes)</param>
 /// <returns>
 ///		DSLab.HRESULT.S_OK ��Ԃ��܂��B
 /// </returns>
 int ISampleGrabberCB.BufferCB(double sample_time, IntPtr addr, int length)
 {
     if (this.Enable)
     {
         var args = new CxSampleGrabberEventArgs(sample_time, addr, length);
         if (this.Notify != null)
             this.Notify(this, args);
         if (args.Cancellation)
             return (int)HRESULT.S_FALSE;
     }
     return (int)HRESULT.S_OK;
 }
Exemplo n.º 5
0
 /// <summary>
 /// �t���[���L���v�`���������ɌĂяo�����R�[���o�b�N�֐�
 /// </summary>
 /// <param name="sample_time">�T���v���^�C��</param>
 /// <param name="sample_data">�T���v���f�[�^</param>
 /// <returns>
 ///		DSLab.HRESULT.S_OK ��Ԃ��܂��B
 /// </returns>
 int ISampleGrabberCB.SampleCB(double sample_time, IMediaSample sample_data)
 {
     if (this.Enable)
     {
         var args = new CxSampleGrabberEventArgs(sample_time, sample_data);
         if (this.Notify != null)
             this.Notify(this, args);
         if (args.Cancellation)
             return (int)HRESULT.S_FALSE;
     }
     return (int)HRESULT.S_OK;
 }