37#ifndef vpDirectShowSampleGrabberI_hh
38#define vpDirectShowSampleGrabberI_hh
40#ifndef DOXYGEN_SHOULD_SKIP_THIS
42#include <visp3/core/vpConfig.h>
43#if (defined(VISP_HAVE_DIRECTSHOW))
49#include <visp3/core/vpImage.h>
50#include <visp3/core/vpRGBa.h>
57class VISP_EXPORT vpDirectShowSampleGrabberI :
public ISampleGrabberCB
59 vpDirectShowSampleGrabberI();
60 virtual ~vpDirectShowSampleGrabberI();
63 STDMETHODIMP_(ULONG) AddRef() {
return 1; }
64 STDMETHODIMP_(ULONG) Release() {
return 2; }
66 STDMETHODIMP QueryInterface(REFIID riid,
void **ppvObject);
69 STDMETHODIMP SampleCB(
double Time, IMediaSample *pSample) {
return E_NOTIMPL; }
72 STDMETHODIMP BufferCB(
double Time, BYTE *pBuffer,
long BufferLen);
76 AM_MEDIA_TYPE connectedMediaType;
79 bool specialMediaType;
89 vpImage<vpRGBa> *rgbaIm;
90 vpImage<unsigned char> *grayIm;
96 friend class vpDirectShowGrabberImpl;