⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hxformt.h

📁 linux下的一款播放器
💻 H
📖 第 1 页 / 共 2 页
字号:
     *	Purpose:     *	    Returns TRUE if this stream requires the latest packet to be     *	    resent periodically in a live presentation.     */    STDMETHOD_(BOOL,IsLiveResendRequired)   (THIS_					    UINT16 unStreamNumber) PURE;    /************************************************************************     *	Method:     *	    IHXLiveFileFormatInfo::GetResendBitrate     *	Purpose:     *	    If periodic live resends are required for this stream, this     *	    method returns the rate at which we should resend packets. The      *	    resend rate is measured in bits per second.     */    STDMETHOD(GetResendBitrate)		    (THIS_					    UINT16 unStreamNumber,					    REF(UINT32) ulBitrate) PURE;    /************************************************************************     *	Method:     *	    IHXLiveFileFormatInfo::GetResendDuration     *	Purpose:     *	    If periodic live resends are required for this stream, this     *	    method returns the number of milliseconds for which this packet      *	    should be resent.     */    STDMETHOD(GetResendDuration)	    (THIS_					    IHXPacket* pPacket,					    REF(UINT32) ulDuration) PURE;    /************************************************************************     *	Method:     *	    IHXLiveFileFormatInfo::FormResendPacket     *	Purpose:     *	    Forms a live resend packet based upon the original packet passed     *	    as the first parameter. This allows the file format plugin to     *	    make resend packets distinguishable from original packets.     */    STDMETHOD(FormResendPacket)		(THIS_					IHXPacket* pOriginalPacket,					REF(IHXPacket*) pResendPacket) PURE;};/**************************************************************************** *  *  Interface: *  *	IHXSyncFileFormatObject *  *  Purpose: *  *	Simple syncronized file format interface *  *  IID_IHXSyncFileFormatObject: *  *	{00000F0C-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXSyncFileFormatObject, 0x00000F0C, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 			0xa0, 0x24, 0x40, 0x6d, 0x59);#define CLSID_IHXSyncFileFormatObject IID_IHXSyncFileFormatObject#undef  INTERFACE#define INTERFACE   IHXSyncFileFormatObjectDECLARE_INTERFACE_(IHXSyncFileFormatObject, IUnknown){    /*     *	IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /*     *	IHXSyncFileFormatObject methods     */    STDMETHOD(GetFileFormatInfo)	(THIS_					REF(const char**) /*OUT*/ pFileMimeTypes,					REF(const char**) /*OUT*/ pFileExtensions,					REF(const char**) /*OUT*/ pFileOpenNames					) PURE;    STDMETHOD(InitFileFormat)						(THIS_					IHXRequest* /*IN*/ pRequest) PURE;    STDMETHOD(GetFileHeader)		(THIS_ 					REF(IHXValues*) /*OUT*/ pHeader) PURE;    STDMETHOD(GetStreamHeader)		(THIS_ 					REF(IHXValues*) /*OUT*/ pStreamHeader,					UINT16	         /*IN*/  unStreamNumber) PURE;    STDMETHOD(GetPacket)		(THIS_ 					REF(IHXPacket*) /*OUT*/ pPacket) PURE;    STDMETHOD(Seek)			(THIS_					ULONG32 /*IN*/ ulSeekTime) PURE;        STDMETHOD(Close)			(THIS) PURE;};// $Private:/**************************************************************************** *  *  Interface: *  *	IHXBroadcastLatency *  *  Purpose: *  *	Provides information on latency requirements of broadcast streams. *	Optionally implemented by the broadcast format objec. *  *  IID_IHXBroadcastLatency: *  *	{00000F08-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXBroadcastLatency, 0x00000F08, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 			0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXBroadcastLatencyDECLARE_INTERFACE_(IHXBroadcastLatency, IUnknown){    /*     *	IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /*     *	IHXBroadcastLatency methods     */    /************************************************************************     *	Method:     *	    IHXBroadcastLatency::GetLatencyRequirements     *	Purpose:     *	    Get latency reqruirements from broadcast format object.     *     *	    ulBackOff: the amount of time in mS that packet flow from     *      the broadcast format object should backoff when no data is available.     *     *	    bUsePreBuffer: TRUE means that there will be some realtime latency     *      between the packets sent to clients at time now, and the live packets     *      that are available at time now. FALSE means there will be no realtime      *      latency.     */    STDMETHOD(GetLatencyRequirements)	    (THIS_					    REF(UINT32) ulBackoff,					    REF(BOOL)   bUsePreBuffer) PURE;};/**************************************************************************** *  *  Interface: *  *	IHXPayloadFormatObject *  *  Purpose: *  *	Object that knows how to properly convert data into a particular *	payload format *  *  IID_IHXPayloadFormatObject: *  *	{00000F07-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXPayloadFormatObject, 0x00000F07, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 			0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXPayloadFormatObjectDECLARE_INTERFACE_(IHXPayloadFormatObject, IUnknown){    /*     *	IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /*     *	IHXPayloadFormatObject methods     */    STDMETHOD(Init)		(THIS_				IUnknown* pContext,				BOOL bPacketize) PURE;    STDMETHOD(Close)		(THIS) PURE;    STDMETHOD(Reset)		(THIS) PURE;    STDMETHOD(SetStreamHeader)	(THIS_				IHXValues* pHeader) PURE;    STDMETHOD(GetStreamHeader)	(THIS_				REF(IHXValues*) pHeader) PURE;    STDMETHOD(SetPacket)	(THIS_				IHXPacket* pPacket) PURE;    STDMETHOD(GetPacket)	(THIS_				REF(IHXPacket*) pPacket) PURE;    STDMETHOD(Flush)		(THIS) PURE;};// $EndPrivate.// $Private:/**************************************************************************** *  *  Interface: *  *	IHXBlockFormatObject *  *  Purpose: *  *	Object that knows how to properly convert data into a particular *	payload format *  *  IID_IHXBlockFormatObject: *  *	{00000F08-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXBlockFormatObject, 0x00000F09, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 			0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXBlockFormatObjectDECLARE_INTERFACE_(IHXBlockFormatObject, IUnknown){    /*     *	IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /*     *	IHXBlockFormatObject methods     */    STDMETHOD(SetByteRange)	(THIS_                                UINT64    ulFrom,                                UINT64    ulTo) PURE;};typedef enum _HX_CLIENT_MESSAGE_TYPE{    CM_RTSP_UNKNOWN,    CM_RTSP_OPTIONS,    CM_RTSP_DESCRIBE,    CM_RTSP_ANNOUNCE,    CM_RTSP_SETUP,    CM_RTSP_PLAY,    CM_RTSP_PAUSE,    CM_RTSP_TEARDOWN,    CM_RTSP_GET_PARAMETER,    CM_RTSP_SET_PARAMETER,    CM_RTSP_REDIRECT,    CM_RTSP_RECORD} HX_CLIENT_MESSAGE_TYPE;/**************************************************************************** *  *  Interface: *  *	IHXFileFormatHeaderAdvise *  *  Purpose: *  *	File format wants notification when headers arrive from client. *  *  IID_IHXFileFormatHeaderAdvise: *  *	{00000F0A-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXFileFormatHeaderAdvise, 0x00000F0A, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 			0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXFileFormatHeaderAdviseDECLARE_INTERFACE_(IHXFileFormatHeaderAdvise, IUnknown){    /*     *	IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /*     *	IHXFileFormatHeaderAdvise methods     *     *  Only implemented for SETUP, other messages may be added later.     */    STDMETHOD(OnHeaders)	(THIS_				 HX_CLIENT_MESSAGE_TYPE pMessageType,				 IHXValues* pRequestHeaders,				 IHXFileFormatHeaderAdviseResponse* pResp				) PURE;};/**************************************************************************** *  *  Interface: *  *	IHXFileFormatHeaderAdviseResponse *  *  Purpose: *  *	Response for RTSP header advise. *  *  IID_IHXFileFormatHeaderAdviseResponse: *  *	{00000F0B-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXFileFormatHeaderAdviseResponse, 0x00000F0B, 0x901, 0x11d1, 	    0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXFileFormatHeaderAdviseResponseDECLARE_INTERFACE_(IHXFileFormatHeaderAdviseResponse, IUnknown){    /*     *	IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /*     *	IHXFileFormatHeaderAdviseResponse methods     *     *  If file format returns error in status, server will disconnect      *  from client.  Optional RTSP error code will be returned to client,      *  if non-zero; else 461 will be used.     */    STDMETHOD(OnHeadersDone)	(THIS_				 HX_RESULT status,				 UINT32 ulErrNo) PURE;};typedef enum _HX_PLAY_PARAM{    HX_PLAYPARAM_SCALE	 // cast ulValues to FIXED32 and use macro} HX_PLAY_PARAM;/**************************************************************************** *  *  Interface: *  *	IHXSetPlayParam *  *  Purpose: *	 *	 *  *  IID_IHXSetPlayParam: *  *      {0x503c212c-413f-478b-9fc8daa7b145b8a9} *  */DEFINE_GUID(IID_IHXSetPlayParam,	        0x503c212c, 0x413f, 0x478b, 0x9f, 0xc8, 0xda, 0xa7, 0xb1, 0x45, 0xb8, 0xa9);#undef  INTERFACE#define INTERFACE   IHXSetPlayParamDECLARE_INTERFACE_(IHXSetPlayParam, IUnknown){    /*     *	IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /*     *	IHXSetPlayParam methods     */    STDMETHOD(SetParam)			(THIS_ 					HX_PLAY_PARAM param,		    			UINT32 ulValue,		    			IHXSetPlayParamResponse* pResp) PURE;};/**************************************************************************** *  *  Interface: *  *	IHXSetPlayParamResponse *  *  Purpose: *  *	     *  *  IID_IHXSetPlayParamResponse: *  *      {0x750008af-5588-4838-85faaa203a32c799} *  */DEFINE_GUID(IID_IHXSetPlayParamResponse,       0x750008af, 0x5588, 0x4838, 0x85, 0xfa, 0xaa, 0x20, 0x3a, 0x32, 0xc7, 0x99);#undef  INTERFACE#define INTERFACE   IHXSetPlayParamResponseDECLARE_INTERFACE_(IHXSetPlayParamResponse, IUnknown){    /*     *	IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /*     *	IHXSetPlayParamResponse methods     */    STDMETHOD(SetParamDone)		(THIS_ 					HX_RESULT status,					HX_PLAY_PARAM param,							    			UINT32 ulValue) PURE;};/**************************************************************************** *  *  Interface: *  *     IHXSeekByPacket *  *  Purpose: *      *      *  *  IID_IHXSeekByPacket: *  *      {0x171c3c4e-c4ea-46fd-b47b-c3b82dbb9517} *  */DEFINE_GUID(IID_IHXSeekByPacket,              0x171c3c4e, 0xc4ea, 0x46fd, 0xb4, 0x7b, 0xc3, 0xb8, 0x2d, 0xbb, 0x95, 0x17);#undef  INTERFACE#define INTERFACE   IHXSeekByPacketDECLARE_INTERFACE_(IHXSeekByPacket, IUnknown){    /*     * IUnknown methods     */    STDMETHOD(QueryInterface)          (THIS_                                       REFIID riid,                                       void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)         (THIS) PURE;    STDMETHOD_(ULONG32,Release)                (THIS) PURE;    /*     * IHXSeekByPacket methods     */    STDMETHOD(SeekToPacket)            (THIS_                                        UINT32 ulPacketNumber,                                       IHXSeekByPacketResponse* pResp) PURE;};/**************************************************************************** *  *  Interface: *  *     IHXSeekByPacketResponse *  *  Purpose: *  *          *  *  IID_IHXSeekByPacketResponse: *  *      {0xe978476d-6c99-4dc6-9279-7525c693dc34} *  */DEFINE_GUID(IID_IIHXSeekByPacketResponse,       0xe978476d, 0x6c99, 0x4dc6, 0x92, 0x79, 0x75, 0x25, 0xc6, 0x93, 0xdc, 0x34);#undef  INTERFACE#define INTERFACE   IHXSeekByPacketResponseDECLARE_INTERFACE_(IHXSeekByPacketResponse, IUnknown){    /*     * IUnknown methods     */    STDMETHOD(QueryInterface)          (THIS_                                       REFIID riid,                                       void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)         (THIS) PURE;    STDMETHOD_(ULONG32,Release)                (THIS) PURE;    /*     * IHXSeekByPacketResponse methods     */    STDMETHOD(SeekToPacketDone)                (THIS_                                        HX_RESULT status,                                       UINT32 ulStartingTimestamp) PURE; };// $EndPrivate.#endif  /* _HXFORMT_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -