/*++ Copyright (c) 1995-1996 Microsoft Corporation Module Name: medvctrl.h Abstract: Defines the MediaControl class which encapsulates the multimedia devices, in particular videoIn and videoOut. --*/ #ifndef _MEDVCTRL_H_ #define _MEDVCTRL_H_ #include /* Assume 8 byte packing throughout */ class VideoInControl : public MediaControl { private: UINT m_uTimeout; // timeout in notification wait UINT m_uPrefeed; // num of buffers prefed to device UINT m_FPSRequested; // requested frame rate UINT m_FPSMax; // max frame rate public: VideoInControl ( void ); ~VideoInControl ( void ); HRESULT Initialize ( MEDIACTRLINIT * p ); HRESULT Configure ( MEDIACTRLCONFIG * p ); HRESULT SetProp ( DWORD dwPropId, DWORD_PTR dwPropVal ); HRESULT GetProp ( DWORD dwPropId, PDWORD_PTR pdwPropVal ); HRESULT Open ( void ); HRESULT Start ( void ); HRESULT Stop ( void ); HRESULT Reset ( void ); HRESULT Close ( void ); HRESULT DisplayDriverDialog (HWND hwnd, DWORD dwDlgId); }; class VideoOutControl : public MediaControl { private: UINT m_uTimeout; // timeout in notification wait UINT m_uPrefeed; // num of buffers prefed to device UINT m_uPosition; // position of the playback stream public: VideoOutControl ( void ); ~VideoOutControl ( void ); HRESULT Initialize ( MEDIACTRLINIT * p ); HRESULT Configure ( MEDIACTRLCONFIG * p ); HRESULT SetProp ( DWORD dwPropId, DWORD_PTR dwPropVal ); HRESULT GetProp ( DWORD dwPropId, PDWORD_PTR pdwPropVal ); HRESULT Open ( void ); HRESULT Start ( void ); HRESULT Stop ( void ); HRESULT Reset ( void ); HRESULT Close ( void ); }; enum { MC_PROP_VIDEO_FRAME_RATE = MC_PROP_NumOfProps, MC_PROP_MAX_VIDEO_FRAME_RATE, MC_PROP_VFW_DIALOGS }; #include /* End byte packing */ #endif // _MEDVCTRL_H_