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

📄 rtspif.h

📁 linux下的一款播放器
💻 H
📖 第 1 页 / 共 3 页
字号:
     */    STDMETHOD(Done)		(THIS) PURE;    /************************************************************************     *	Method:     *	    IHXRTSPClientProtocol::SendStreamDescriptionRequest     *	Purpose:     *	    Request stream description from URL     */    STDMETHOD(SendStreamDescriptionRequest)		    					(THIS_					const char* pURL,					IHXValues* pRequestHeaders					) PURE;    STDMETHOD(SendStreamRecordDescriptionRequest)		    					(THIS_					const char* pURL,					IHXValues* pFileHeader,					CHXSimpleList* pStreams,					IHXValues* pRequestHeaders					) PURE;    /************************************************************************     *	Method:     *	    IHXRTSPClientProtocol::SendTransportRequest     *	Purpose:     *	    Request a transport type for data stream from an array of     *      available transport types     */    STDMETHOD(SendSetupRequest)    (	THIS_	RTSPTransportType* pTransType,	UINT16 nTransTypes,	IHXValues* pIHXValuesRequestHeaders    ) PURE;    STDMETHOD(SendSetParameterRequest)	(THIS_    					UINT32 lParamType,					const char* pParamName,					IHXBuffer* pParamValue					) PURE;        STDMETHOD(SendSetParameterRequest)  (THIS_	    				const char* pParamName,					const char* pParamValue,					const char* pMimeType,					const char* pContent) PURE;    STDMETHOD(SendGetParameterRequest)	(THIS_    					UINT32 lParamType,					const char* pParamName					) PURE;    /************************************************************************     *	Method:     *	    IHXRTSPClientProtocol::SendPlayRequest     *	Purpose:     *	    Request start of packet delivery     */    STDMETHOD(SendPlayRequest)		(THIS_					UINT32 lFrom,					UINT32 lTo,					CHXSimpleList* pSubList					    /* RTSPSubscription */					) PURE;    STDMETHOD(SendPauseRequest)		(THIS) PURE;    STDMETHOD(SendResumeRequest)	(THIS) PURE;    STDMETHOD(SendRecordRequest)	(THIS) PURE;    	    /************************************************************************     *	Method:     *	    IHXRTSPClientProtocol::SendTeardownRequest     *	Purpose:     *	    Request release of connection resources     */    STDMETHOD(SendTeardownRequest)	(THIS) PURE;    /************************************************************************     *	Method:     *	    IHXRTSPClientProtocol::SendPacket     *	Purpose:     *	    Send data packet to server (for RECORD)     */    STDMETHOD(SendPacket)		(THIS_					BasePacket* pPacket					) PURE;    /************************************************************************     *	Method:     *	    IHXRTSPClientProtocol::SendStreamDone     *	Purpose:     *	    Send data end packet to server (for RECORD)     */    STDMETHOD(SendStreamDone)		(THIS_    					UINT16 streamID					) PURE;    /************************************************************************     *	Method:     *	    IHXRTSPClientProtocol::SendStatistics     *	Purpose:     *	    Send cumulative stats from player to server     */    STDMETHOD(SendPlayerStats)		(THIS_    					const char* pStats					) PURE;    /************************************************************************     *	Method:     *	    IHXRTSPClientProtocol::SendKeepAlive     *	Purpose:     *	    Send keep alive request to server     */    STDMETHOD(SendKeepAlive)		(THIS) PURE;    /************************************************************************     *	Method:     *	    IHXRTSPClientProtocol::GetPacket     *	Purpose:     *	    Get data packet from transport layer     */    STDMETHOD(GetPacket)		(THIS_					UINT16 uStreamNumber,					REF(IHXPacket*) pPacket					) PURE;    STDMETHOD(StartPackets)		(THIS_					UINT16 uStreamNumber					) PURE;    STDMETHOD(StopPackets)		(THIS_					UINT16 uStreamNumber					) PURE;    STDMETHOD(SetProxy)			(THIS_					const char* pProxyHost,					UINT16 proxyPort					) PURE;    STDMETHOD(SetResponse)		(THIS_					IHXRTSPClientProtocolResponse* pResp					) PURE;    STDMETHOD(InitSockets)		(THIS) PURE;    STDMETHOD(GetCurrentBuffering)	(THIS_					UINT16	    uStreamNumber,					REF(INT64)  llLowestTimestamp, 					REF(INT64)  llHighestTimestamp,					REF(UINT32) ulNumBytes,					REF(BOOL)   bDone) PURE;    STDMETHOD(SeekFlush)		(THIS) PURE;    STDMETHOD_(BOOL, IsDataReceived)	(THIS) PURE;    STDMETHOD_(BOOL,IsSourceDone)	(THIS) PURE;    /*     * XXX...The following 3 functions had better be removed under     *       full IRMA     */    STDMETHOD_(IHXPendingStatus*, GetPendingStatus)	(THIS) PURE;    STDMETHOD_(IHXStatistics*, GetStatistics)		(THIS) PURE;    STDMETHOD_(BOOL, HttpOnly)				(THIS) PURE;        /*****************************************     * Methods specific to TNG/ASM transport     *     */    STDMETHOD(Subscribe)		(THIS_    					CHXSimpleList* pSubscriptions					    /* RTSPSubscription */					) PURE;    STDMETHOD(Unsubscribe)		(THIS_    					CHXSimpleList* pUnsubscriptions					    /* RTSPSubscription */					) PURE;    STDMETHOD(RuleChange)		(THIS_    					CHXSimpleList* pChanges) PURE;    STDMETHOD(BackChannelPacketReady)   (THIS_                                        IHXPacket* pPacket) PURE;    STDMETHOD(SendRTTRequest)		(THIS) PURE;    STDMETHOD(SendBWReport)		(THIS_    					INT32 aveBandwidth,					INT32 packetLoss,					INT32 bandwidthWanted					) PURE;    STDMETHOD(SetFirstSeqNum)		(THIS_					UINT16 uStreamNumber,					UINT16 uSeqNum					) PURE;    STDMETHOD(SetRTPInfo)		(THIS_					UINT16 uStreamNumber,					UINT16 uSeqNum,					UINT32 ulRTPTime,					RTPInfoEnum info					) PURE;    STDMETHOD(SetConnectionTimeout)	(THIS_					UINT32 uSeconds					) PURE;    /* This is a quick fix to correctly display UDPMode in the client.     * We currently always show Multicast since the rtsp library     * never tells the reponse object that the protocol that actually     * succeeded is UDP and not Mutlicast.     *     * This is an interim soluton.      * Correct solution is to add transport type in HandleSetupResponse().      * Will do after B2 since I do not break any builds - XXXRA     *     * MULTICAST_MODE = 1,     * UDP_MODE = 2,     * TCP_MODE = 3,     *      */    STDMETHOD_(UINT16, GetProtocolType)	(THIS) PURE;    STDMETHOD(InitPacketFilter)		(THIS_					 RawPacketFilter* pFilter) PURE;};DECLARE_INTERFACE_(IHXRTSPTransportResponse, IUnknown){    /*     *	IUnknown methods     */    STDMETHOD(QueryInterface)	(THIS_				REFIID riid,				void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;    STDMETHOD_(ULONG32,Release)	(THIS) PURE;    /*     * PacketReady() is for control packets only. Data packets should     * be retrieved with the getPacket() call exported by RTSPTransport     */    STDMETHOD(PacketReady)	(THIS_				HX_RESULT status,				const char* pSessionID,				IHXPacket* pPacket				) PURE;    STDMETHOD(OnRTTRequest)	(THIS_    				HX_RESULT status,				const char* pSessionID				) PURE;    STDMETHOD(OnRTTResponse)	(THIS_    				HX_RESULT status,				const char* pSessionID,				UINT32 ulSecs,				UINT32 ulUSecs				) PURE;    STDMETHOD(OnBWReport)	(THIS_    				HX_RESULT status,				const char* pSessionID,				INT32 aveBandwidth,				INT32 packetLoss,				INT32 bandwidthWanted				) PURE;    STDMETHOD(OnCongestion)	(THIS_    				HX_RESULT status,				const char* pSessionID,				INT32 xmitMultiplier,				INT32 recvMultiplier				) PURE;    STDMETHOD(OnStreamDone)	(THIS_				HX_RESULT status,				UINT16 uStreamNumber				) PURE;    STDMETHOD(OnSourceDone)	(THIS) PURE;    STDMETHOD(OnACK)		(THIS_				HX_RESULT status,				RTSPResendBuffer* pResendBuffer,				UINT16 uStreamNumber,				const char* pSessionID,				UINT16* pAckList,				UINT32 uAckListCount,				UINT16* pNakList,				UINT32 uNakListCount				) PURE;    STDMETHOD(OnProtocolError)	(THIS_    				HX_RESULT status				) PURE;};DECLARE_INTERFACE_(IHXRTSPServerTransportResponse, IHXRTSPTransportResponse){    STDMETHOD(OnRTTRequest)	(THIS_    				HX_RESULT status,				const char* pSessionID				) PURE;    STDMETHOD(OnRTTResponse)	(THIS_    				HX_RESULT status,				const char* pSessionID,				UINT32 ulSecs,				UINT32 ulUSecs				) PURE;    STDMETHOD(OnBWReport)	(THIS_    				HX_RESULT status,				const char* pSessionID,				INT32 aveBandwidth,				INT32 packetLoss,				INT32 bandwidthWanted				) PURE;    STDMETHOD(OnCongestion)	(THIS_    				HX_RESULT status,				const char* pSessionID,				INT32 xmitMultiplier,				INT32 recvMultiplier				) PURE;    STDMETHOD(OnStreamDone)	(THIS_				HX_RESULT status,				UINT16 uStreamNumber				) PURE;    STDMETHOD(OnSourceDone)	(THIS) PURE;    STDMETHOD(OnACK)		(THIS_				HX_RESULT status,				RTSPResendBuffer* pResendBuffer,				UINT16 uStreamNumber,				const char* pSessionID,				UINT16* pAckList,				UINT32 uAckListCount,				UINT16* pNakList,				UINT32 uNakListCount				) PURE;    STDMETHOD(OnProtocolError)	(THIS_    				HX_RESULT status				) PURE;};DECLARE_INTERFACE_(IHXRTSPClientTransportResponse, IHXRTSPTransportResponse){    STDMETHOD(OnRTTRequest)	(THIS_    				HX_RESULT status,				const char* pSessionID				) PURE;    STDMETHOD(OnRTTResponse)	(THIS_    				HX_RESULT status,				const char* pSessionID,				UINT32 ulSecs,				UINT32 ulUSecs				) PURE;    STDMETHOD(OnBWReport)	(THIS_    				HX_RESULT status,				const char* pSessionID,				INT32 aveBandwidth,				INT32 packetLoss,				INT32 bandwidthWanted				) PURE;    STDMETHOD(OnCongestion)	(THIS_    				HX_RESULT status,				const char* pSessionID,				INT32 xmitMultiplier,				INT32 recvMultiplier				) PURE;    STDMETHOD(OnStreamDone)	(THIS_				HX_RESULT status,				UINT16 uStreamNumber				) PURE;    /* This only indicates that all packets have been received from the     * server. We still need to read packets from the transport buffer     * StreamDone will indicate when there are no more packets to be     * read from Transport buffer     */    STDMETHOD(OnSourceDone)	(THIS) PURE;    STDMETHOD(OnACK)		(THIS_				HX_RESULT status,				RTSPResendBuffer* pResendBuffer,				UINT16 uStreamNumber,				const char* pSessionID,				UINT16* pAckList,				UINT32 uAckListCount,				UINT16* pNakList,				UINT32 uNakListCount				) PURE;    STDMETHOD(OnProtocolError)	(THIS_    				HX_RESULT status				) PURE;};DEFINE_GUID(IID_IHXPacketResend,     0x00000400, 0xb4c8, 0x11d0, 0x99, 0x95, 0x0, 0xa0, 0x24, 0x8d, 0xa5, 0xf0);DECLARE_INTERFACE_(IHXPacketResend, IUnknown){    /*     *	IUnknown methods     */    STDMETHOD(QueryInterface)	(THIS_				REFIID riid,				void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;    STDMETHOD_(ULONG32,Release)	(THIS) PURE;    STDMETHOD(OnPacket)		(THIS_				UINT16 uStreamNumber,				BasePacket** ppPacket) PURE;};DEFINE_GUID(IID_IHXRTSPContext,     0x00000401, 0xb4c8, 0x11d0, 0x99, 0x95, 0x0, 0xa0, 0x24, 0x8d, 0xa5, 0xf0);DECLARE_INTERFACE_(IHXRTSPContext, IUnknown){    /*     *	IUnknown methods     */    STDMETHOD(QueryInterface)	(THIS_				REFIID riid,				void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;    STDMETHOD_(ULONG32,Release)	(THIS) PURE;    STDMETHOD(GetCurrentSequenceNumber)    (	THIS_	REF(UINT32) ulSequenceNumber    ) PURE;    STDMETHOD(GetSessionID)    (	THIS_	REF(IHXBuffer*) pIHXBufferSessionID    ) PURE;};DEFINE_GUID(IID_IHXTimeStampSync,     0x00000402, 0xb4c8, 0x11d0, 0x99, 0x95, 0x0, 0xa0, 0x24, 0x8d, 0xa5, 0xf0);DECLARE_INTERFACE_(IHXTimeStampSync, IUnknown){    /*     *	IUnknown methods     */    STDMETHOD(QueryInterface)	(THIS_				REFIID riid,				void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;    STDMETHOD_(ULONG32,Release)	(THIS) PURE;    STDMETHOD(SetInitialTS(const char* pSessionID, UINT32 ulInitialTS)) PURE;    STDMETHOD_(BOOL, NeedInitialTS(const char* pSessionID)) PURE;    STDMETHOD_(UINT32, GetInitialTS(const char* pSessionID)) PURE;    STDMETHOD(ClearInitialTS(const char* pSessionID)) PURE;};DEFINE_GUID(IID_IHXTransportSyncServer, 0x16b420d0, 0xf4d0, 0x11d5, 0xaa, 	    0xc0, 0x0, 0x1, 0x2, 0x51, 0xb3, 0x40);DECLARE_INTERFACE_(IHXTransportSyncServer, IUnknown){    /*     *	IUnknown methods     */    STDMETHOD(QueryInterface)	(THIS_				REFIID riid,				void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;    STDMETHOD_(ULONG32,Release)	(THIS) PURE;    STDMETHOD(DistributeSyncAnchor) (THIS_				    ULONG32 ulHXTime, 				    ULONG32 ulNTPTime) PURE;    STDMETHOD(DistributeSync)	    (ULONG32 ulHXTime, 				    LONG32 lHXTimeOffset) PURE;    STDMETHOD(DistributeStartTime)  (ULONG32 ulHXRefTime) PURE;};DECLARE_INTERFACE_(IHXRTSPServerPauseResponse, IUnknown){    /*     *	IUnknown methods     */    STDMETHOD(QueryInterface)	(THIS_ REFIID riid, void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;    STDMETHOD_(ULONG32,Release)	(THIS) PURE;        STDMETHOD(HandlePauseRequest)	(THIS_ const char* pSessionID,                                            UINT32 ulPausePoint) PURE;};#endif /* _RTSPIF_H_ */

⌨️ 快捷键说明

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