/*++ Copyright (c) 1995-1996 Microsoft Corporation Module Name: vidpackt.h Abstract: Contains prototypes for the VideoPacket class, which encapsulates a video buffer in its various states: recorded/encoded/network/decoded/playing etc. --*/ #ifndef _VIDPACKT_H_ #define _VIDPACKT_H_ #include /* Assume 8 byte packing throughout */ #define VP_NUM_PREAMBLE_PACKETS 6 #define MAX_CIF_VIDEO_FRAGMENTS 40 #define MAX_QCIF_VIDEO_FRAGMENTS 20 #define MAX_VIDEO_FRAGMENTS MAX_CIF_VIDEO_FRAGMENTS class VideoPacket : public MediaPacket { private: IBitmapSurface *m_pBS; public: virtual HRESULT Initialize ( MEDIAPACKETINIT * p ); virtual HRESULT Play ( MMIODEST *pmmioDest, UINT uDataType ); virtual HRESULT Record ( void ); virtual HRESULT Interpolate ( MediaPacket * pPrev, MediaPacket * pNext); virtual HRESULT GetSignalStrength ( PDWORD pdwMaxStrength ); virtual HRESULT MakeSilence ( void ); virtual HRESULT Recycle ( void ); virtual HRESULT Open ( UINT uType, DPHANDLE hdl ); // called by RxStream or TxStream virtual HRESULT Close ( UINT uType ); // called by RxStream or TxStream virtual BOOL IsBufferDone ( void ); virtual BOOL IsSameMediaFormat(PVOID fmt1,PVOID fmt2); virtual DWORD GetDevDataSamples(); void WriteToFile (MMIODEST *pmmioDest); void ReadFromFile (MMIOSRC *pmmioSrc ); HRESULT SetSurface (IBitmapSurface *pBS); }; #include /* End byte packing */ #endif