/*++ Copyright (c) 1998-1999 Microsoft Corporation Module Name: msptrmvc.cpp Abstract: MSP base classes: declaration of video capture terminal. --*/ #ifndef _MSPTRMVC_H_ #pragma option push -b -a8 -pc -A- /*P_O_Push*/ #define _MSPTRMVC_H_ ///////////////////////////////////////////////////////////////////////////// // CVideoCaptureTerminal class CVideoCaptureTerminal : public CSingleFilterTerminal { public: CVideoCaptureTerminal(); virtual ~CVideoCaptureTerminal(); public: static HRESULT CreateTerminal( IN CComPtr pMoniker, IN MSP_HANDLE htAddress, OUT ITTerminal **ppTerm ); // If we add any additional interfaces to this class then // we must uncomment and expand the following. // // BEGIN_COM_MAP(CVideoCaptureTerminal) // COM_INTERFACE_ENTRY_CHAIN(CSingleFilterTerminal) // END_COM_MAP() DECLARE_LOG_ADDREF_RELEASE(CVideoCaptureTerminal); public: CComPtr m_pMoniker; private: // CBaseTerminal required overrides virtual HRESULT AddFiltersToGraph(); virtual LONG CountOfMediaTypes() { return 1; } virtual DWORD GetSupportedMediaTypes(void) { return (DWORD) TAPIMEDIATYPE_VIDEO; } // Helper methods. HRESULT CreateFilters(); HRESULT FindCapturePin(); }; inline CVideoCaptureTerminal::CVideoCaptureTerminal( ) { m_TerminalDirection = TD_CAPTURE; m_TerminalType = TT_STATIC; } #pragma option pop /*P_O_Pop*/ #endif // _MSPTRMVC_H_