Windows-Server-2003/enduser/netmeeting/av/nac/vidpackt.h

53 lines
1.4 KiB
C++

/*++
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 <pshpack8.h> /* 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 <poppack.h> /* End byte packing */
#endif