Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

78 lines
1.5 KiB

  1. /*++
  2. Copyright (c) Microsoft Corporation. All rights reserved.
  3. Module Name:
  4. msptrmvc.cpp
  5. Abstract:
  6. MSP base classes: declaration of video capture terminal.
  7. --*/
  8. #ifndef _MSPTRMVC_H_
  9. #define _MSPTRMVC_H_
  10. /////////////////////////////////////////////////////////////////////////////
  11. // CVideoCaptureTerminal
  12. class CVideoCaptureTerminal :
  13. public CSingleFilterStaticTerminal
  14. {
  15. public:
  16. CVideoCaptureTerminal();
  17. virtual ~CVideoCaptureTerminal();
  18. public:
  19. static HRESULT CreateTerminal(
  20. IN CComPtr<IMoniker> pMoniker,
  21. IN MSP_HANDLE htAddress,
  22. OUT ITTerminal **ppTerm
  23. );
  24. // If we add any additional interfaces to this class then
  25. // we must uncomment and expand the following.
  26. //
  27. // BEGIN_COM_MAP(CVideoCaptureTerminal)
  28. // COM_INTERFACE_ENTRY_CHAIN(CSingleFilterStaticTerminal)
  29. // END_COM_MAP()
  30. DECLARE_LOG_ADDREF_RELEASE(CVideoCaptureTerminal);
  31. private:
  32. // CBaseTerminal required overrides
  33. virtual HRESULT AddFiltersToGraph();
  34. virtual LONG CountOfMediaTypes()
  35. {
  36. return 1;
  37. }
  38. virtual DWORD GetSupportedMediaTypes(void)
  39. {
  40. return (DWORD) TAPIMEDIATYPE_VIDEO;
  41. }
  42. // Helper methods.
  43. HRESULT CreateFilters();
  44. HRESULT FindCapturePin();
  45. };
  46. inline
  47. CVideoCaptureTerminal::CVideoCaptureTerminal(
  48. )
  49. {
  50. m_TerminalDirection = TD_CAPTURE;
  51. m_TerminalType = TT_STATIC;
  52. }
  53. #endif // _MSPTRMVC_H_