46 #ifndef __MO_DSGRAPH_H 
   47 #define __MO_DSGRAPH_H 
   66         virtual ~moDsFramework();
 
   74         bool ShowError( HRESULT hr );
 
   77         ICreateDevEnum *m_pDevEnum;
 
   78         IEnumMoniker *m_pEnum;
 
   82 class LIBMOLDEO_API moDsSampleGrabberCB : 
public ISampleGrabberCB
 
   96     STDMETHODIMP_(ULONG) AddRef() { 
return 2; }
 
   97     STDMETHODIMP_(ULONG) Release() { 
return 1; }
 
  101         m_pBucketsPool = pBucketsPool;
 
  108     STDMETHODIMP QueryInterface(REFIID riid, 
void ** ppv)
 
  110         CheckPointer(ppv,E_POINTER);
 
  112         if( riid == IID_ISampleGrabberCB || riid == IID_IUnknown )
 
  114             *ppv =(
void *) static_cast<ISampleGrabberCB*>( 
this );
 
  118         return E_NOINTERFACE;
 
  124     STDMETHODIMP SampleCB( 
double SampleTime, IMediaSample * pSample )
 
  133     STDMETHODIMP BufferCB( 
double SampleTime, BYTE * pBuffer, 
long BufferSize )
 
  143         if(!m_pBucketsPool->
IsFull()) {
 
  149                 if(m_pBucketsPool->
AddBucket( pbucket )) {
 
  167     virtual ~moDsGraph();
 
  179     bool CreateFilterByName( 
moText p_name, IBaseFilter **ppF);
 
  180     bool CreateCaptureDeviceByPath( 
moText p_Path, IBaseFilter **ppF );
 
  181     bool SetCaptureDevice( 
moText deviceport , 
MOint idevice = 0);
 
  203     bool ShowError( HRESULT hr );
 
  204     void SetVideoFormat( AM_MEDIA_TYPE* mt );
 
  205     IPin * GetInPin( IBaseFilter * pFilter, 
int nPin );
 
  206     IPin * GetOutPin( IBaseFilter * pFilter, 
int nPin );
 
  207     HRESULT GetPin( IBaseFilter * pFilter, PIN_DIRECTION dirrequired, 
int iNum, IPin **ppPin);
 
  208     void CheckMediaType( IPin* p_Pin );
 
  209     void ShowConfigureDialog(IBaseFilter *pFilter);
 
  214     IGraphBuilder *m_pFilterGraph;
 
  215     IMediaControl *m_pMediaControl;
 
  216     IMediaSeeking *m_pMediaSeeking;
 
  221     IBaseFilter *m_pQuicktimeFilter;
 
  222     IBaseFilter *m_pQuicktimeDecoder;
 
  223     IBaseFilter *m_pColorSpaceConverter;
 
  224     IBaseFilter *m_pCaptureFilter;
 
  225     IBaseFilter *m_pSourceFilter;
 
  226     IBaseFilter *m_pDVDecoderFilter;
 
  227     IBaseFilter *m_pAVIDecompressorFilter;
 
  228     IBaseFilter *m_pSampleGrabberBase;
 
  229     IBaseFilter *m_pNullRenderer;
 
  230     IBaseFilter *m_pAviSplitter;
 
  231     IBaseFilter *m_pSplitter;
 
  232     IBaseFilter *m_pFfdshowFilter;
 
  237     ISampleGrabber  *m_pSampleGrabber;
 
  238     moDsSampleGrabberCB m_CB;
 
  239     IFileSourceFilter   *m_pFileSourceFilter;
 
  241     moDsFramework*      m_pDsFramework;
 
virtual bool CheckCaptureDevice(int i)=0
Chequea si el dispositivos de video disponible está aún disponible. 
 
Plataforma de reproducción de video, actualmente GStreamer para todas las plataformas. 
 
virtual bool IsRunning()=0
Está corriendo. 
 
virtual bool FinishGraph()=0
Finalización del grafo. 
 
clase de para manejar textos 
 
Grafo de reproducción de video. 
 
moTypes MOint moText moParamIndex moParamReference int iRow int int i int i
 
virtual bool BuildLiveGraph(moBucketsPool *pBucketsPool, moCaptureDevice p_capdev)=0
Grafo de captura de video. 
 
virtual MOulong GetFramesLength()=0
La cantidad de frames, el largo del stream. 
 
virtual bool BuildLiveVideoGraph(moText filename, moBucketsPool *pBucketsPool)=0
Grafo de reproducción de video en modo vivo, asyncronicamente reproducido en función del clock...
 
Administrador de moBucket 's. 
 
virtual moCaptureDevices * LoadCaptureDevices()=0
Carga los dispositivos de video disponibles. 
 
virtual void Stop()=0
Detener la reproducción del video. 
 
virtual void Play()=0
Reproducir el video. 
 
virtual bool BuildLiveQTVideoGraph(moText filename, moBucketsPool *pBucketsPool)=0
 
Definición de un dispositivo de video, generalmente uno de captura de video, o camara. 
 
Espacio en memoria para compartir datos entre objetos. 
 
virtual bool InitGraph()=0
Inicialización del grafo. 
 
void SetBuffer(MOlong size, MOubyte *pbuf)
Crea un espacio de memoria y asigna los valores desde un puntero a otro espacio de memoria...
 
virtual MObyte * GetFrameBuffer(MOlong *size)=0
Puntero al frame buffer. 
 
virtual void Seek(MOuint frame, float rate=1.0)=0
Busca y posiciona. 
 
bool AddBucket(moBucket *pBucket)
 
virtual void Pause()=0
Pausa la reproducción del video. 
 
virtual moCaptureDevices * UpdateCaptureDevices()=0
Actualiza los dispositivos de video disponibles.