Main Page   Class Overview   Pixels   Images   Geometry   Quick Index  

TVReaderControler.h

00001 /*
00002  *  Copyright (c) 2000, University of Amsterdam, The Netherlands.
00003  *  All rights reserved.
00004  *
00005  *  Author(s):
00006  *  Marc Navarro            (mnavarro@wins.uva.nl)
00007  */
00008 
00009 #ifndef TVReaderControler_h
00010 #define TVReaderControler_h
00011 
00012 #include <windows.h>
00013 #include <streams.h>
00014 #include <dvdmedia.h>
00015 
00016 #include "IVideoReaderControler.h"
00017 
00018 
00019 class TVReaderControler : public CUnknown, IVideoReaderControler
00020 {
00021 public:
00022     static CUnknown* WINAPI CreateInstance(LPUNKNOWN unk, HRESULT *hr);
00023                             ~TVReaderControler();
00024 
00025     virtual STDMETHODIMP    SetFrameCapacity(int num);
00026     virtual STDMETHODIMP    GetFrameCapacity(int *num);
00027 
00028     virtual STDMETHODIMP    GetLength(int *num);
00029     virtual STDMETHODIMP    GetFrameWidth(int *width);
00030     virtual STDMETHODIMP    GetFrameHeight(int *height);
00031     virtual STDMETHODIMP    GetFrame(int num, BYTE **sample);
00032 
00033     virtual STDMETHODIMP    SetFilterGraph(IFilterGraph* iGraph);
00034 
00035     virtual STDMETHODIMP    NextData(BYTE *sample);
00036     virtual STDMETHODIMP    SetDataSizes(int width, int height);
00037 
00038     DECLARE_IUNKNOWN;
00039 
00040 
00041 private:
00042                     TVReaderControler(LPUNKNOWN unk, HRESULT *hr);
00043 
00044                     // Overriden to say what interfaces we support where
00045     STDMETHODIMP    NonDelegatingQueryInterface(REFIID riid, void ** ppv);
00046 
00047     CCritSec*       _critSec; // for locking critical sections
00048 
00049     BYTE*           _currentData;
00050     BYTE*           _newData;
00051     int             _newAvailable;
00052 
00053     int             _width;
00054     int             _height;
00055 
00056     IMediaControl*  _imCtrl;
00057 };
00058 
00059 #endif

Generated on Tue Jan 8 13:59:18 2002 for C++Reference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001