// AForge Direct Show Library
// AForge.NET framework
//
// Copyright © Andrew Kirillov, 2007
// andrew.kirillov@gmail.com
//
namespace AForge.Video.DirectShow.Internals
{
using System;
using System.Runtime.InteropServices;
///
/// The interface provides callback methods for the method.
///
///
[ComImport,
Guid("0579154A-2B53-4994-B0D0-E773148EFF85"),
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
internal interface ISampleGrabberCB
{
///
/// Callback method that receives a pointer to the media sample.
///
///
/// Starting time of the sample, in seconds.
/// Pointer to the sample's IMediaSample interface.
///
/// Return's HRESULT error code.
///
[PreserveSig]
int SampleCB( double sampleTime, IntPtr sample );
///
/// Callback method that receives a pointer to the sample bufferț
///
///
/// Starting time of the sample, in seconds.
/// Pointer to a buffer that contains the sample data.
/// Length of the buffer pointed to by buffer, in bytes
///
/// Return's HRESULT error code.
///
[PreserveSig]
int BufferCB( double sampleTime, IntPtr buffer, int bufferLen );
}
}