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

📄 rtspclnt.h

📁 linux下的一款播放器
💻 H
📖 第 1 页 / 共 3 页
字号:
                          public IHXStatistics,			  public IHXResolverResponse,			  public IHXThinnableSource,			  public IHXPacketResend,			  public IHXInterruptSafe,			  public IHXResendBufferControl,			  public IHXTransportSyncServer,			  public IHXTransportBufferLimit{public:    RTSPClientProtocol			();    ~RTSPClientProtocol			();    enum State    {	INIT,	READY,	PLAYING,	RECORDING    };    class UDPResponseHelper: public IHXUDPResponse,			     public IHXInterruptSafe    {    private:	LONG32			m_lRefCount;	UINT16			m_nPort;	RTSPClientProtocol* 	m_pOwner;    public:	UDPResponseHelper(RTSPClientProtocol* pParent, UINT16 nPort);	~UDPResponseHelper();	/* IUnknown Interfaces */	STDMETHOD(QueryInterface)	(THIS_					REFIID riid,					void** ppvObj);	STDMETHOD_(ULONG32,AddRef)	(THIS);	STDMETHOD_(ULONG32,Release)	(THIS);	/*	*	IHXInterruptSafe methods	*/	STDMETHOD_(BOOL,IsInterruptSafe)(THIS) {return TRUE;};	/*	*	IHXUDPSocket methods	*/	STDMETHOD(ReadDone)		(THIS_    					HX_RESULT status,					IHXBuffer* pBuffer,					UINT32 ulAddr,					UINT16 nPort);    };    class ConnectionCheckCallback : public IHXCallback    {    public:	ConnectionCheckCallback(RTSPClientProtocol* pOwner);	~ConnectionCheckCallback();    /* IUnknown Interfaces */	STDMETHOD(QueryInterface)	(THIS_					REFIID riid,					void** ppvObj);	STDMETHOD_(ULONG32,AddRef)	(THIS);	STDMETHOD_(ULONG32,Release)	(THIS);	STDMETHOD(Func)			(THIS);    private:	LONG32			m_lRefCount;	RTSPClientProtocol* 	m_pOwner;    };#ifdef _MACINTOSH    class RTSPClientProtocolCallback : public IHXCallback    {    public:	RTSPClientProtocolCallback(RTSPClientProtocol* pOwner);	~RTSPClientProtocolCallback();    /* IUnknown Interfaces */	STDMETHOD(QueryInterface)	(THIS_					REFIID riid,					void** ppvObj);	STDMETHOD_(ULONG32,AddRef)	(THIS);	STDMETHOD_(ULONG32,Release)	(THIS);	STDMETHOD(Func)			(THIS);	LONG32			m_lRefCount;	RTSPClientProtocol* 	m_pOwner;	BOOL			m_bIsCallbackPending;	CallbackHandle		m_Handle;	IHXValues*		m_pPendingRequestHeaders;	CHXString		m_PendingDescURL;    };    friend class RTSPClientProtocolCallback;#endif /* _MACINTOSH */    /*     * IUnknown methods     */    STDMETHOD(QueryInterface)           (THIS_                                        REFIID riid,                                        void** ppvObj);    STDMETHOD_(ULONG32,AddRef)          (THIS);    STDMETHOD_(ULONG32,Release)         (THIS);    /*     * IHXRTSPClientProtocol methods     */    STDMETHOD(Init)			(THIS_					IUnknown*   pContext,					const char* pHostName,					UINT16	    foreignPort,					IHXRTSPClientProtocolResponse* pClient,					UINT32	    initializationType,					IHXValues* pSessionHeaders,					IHXValues* pInfo,					BOOL	    bHTTPCloak,					UINT16	    uCloakPort,					BOOL	    bNoReuseConnection);    STDMETHOD(SetBuildVersion)		(THIS_    					const char* pVersionString);    STDMETHOD(Done)			(THIS);    STDMETHOD(SendStreamDescriptionRequest)							(THIS_    					const char* pURL,					IHXValues* pRequestHeaders);    STDMETHOD(SendStreamRecordDescriptionRequest)    					(THIS_					const char* pURL,					IHXValues* pFileHeader,					CHXSimpleList* pStreams,					IHXValues* pRequestHeaders);    STDMETHOD(SendSetupRequest)    (	THIS_	RTSPTransportType* pTransType,	UINT16 nTransTypes,	IHXValues* pIHXValuesRequestHeaders    );    STDMETHOD(SendPlayRequest)		(THIS_					UINT32 lFrom,					UINT32 lTo,					CHXSimpleList* pSubscriptions);    STDMETHOD(SendRecordRequest)	(THIS);    STDMETHOD(SendPauseRequest)		(THIS);    STDMETHOD(SendResumeRequest)	(THIS);    STDMETHOD(SendTeardownRequest)	(THIS);    STDMETHOD(SendSetParameterRequest)	(THIS_    					UINT32 lParamType,					const char* pParamName,					IHXBuffer* pParamValue);    STDMETHOD(SendSetParameterRequest)	(THIS_	    				const char* pParamName,					const char* pParamValue,					const char* pMimeType,					const char* pContent);    STDMETHOD(SendGetParameterRequest)	(THIS_    					UINT32 lParamType,					const char* pParamName);    STDMETHOD(SendPacket)		(THIS_					BasePacket* pPacket);    STDMETHOD(SendStreamDone)		(THIS_					UINT16 streamNumber);    STDMETHOD(SendPlayerStats)		(THIS_					const char* pStats);    STDMETHOD(SendKeepAlive)		(THIS);    STDMETHOD(GetPacket)		(THIS_					UINT16 uStreamNumber,					REF(IHXPacket*) pPacket);    STDMETHOD(StartPackets)		(THIS_					UINT16 uStreamNumber);    STDMETHOD(StopPackets)		(THIS_					UINT16 uStreamNumber);    STDMETHOD(SetProxy)			(THIS_					const char* pProxyHost,					UINT16 proxyPort);    STDMETHOD(SetResponse)		(THIS_					IHXRTSPClientProtocolResponse* pResp);    /*     * IHXThinnableSource methods.     */    /************************************************************************     *	Method:     *	    IHXThinnableSource::DropByN     *  Purpose:     *     *	Implemented by protocols that allow infinite thinnability through     *      LimitBandwidthByDropping     */    STDMETHOD(LimitBandwidthByDropping)	(THIS_					UINT32 ulStreamNo,					UINT32 ulBandwidthLimit);    STDMETHOD(SetDeliveryBandwidth)	(THIS_					UINT32 ulBandwidth,					UINT32 ulMsBackoff);    /*     * XXX...The following 3 functions had better be removed under     *       full IRMA     */    STDMETHOD_(IHXPendingStatus*, GetPendingStatus)	(THIS);    STDMETHOD_(IHXStatistics*, GetStatistics)		(THIS);    STDMETHOD_(BOOL, HttpOnly)				(THIS);    STDMETHOD(Subscribe)		(THIS_    					CHXSimpleList* pSubscriptions);    STDMETHOD(Unsubscribe)		(THIS_    					CHXSimpleList* pUnsubscriptions);    STDMETHOD(RuleChange)		(THIS_    					CHXSimpleList* pRuleChanges);    STDMETHOD(BackChannelPacketReady)	(THIS_    					IHXPacket* pPacket);    STDMETHOD(SendRTTRequest)		(THIS);    STDMETHOD(SendBWReport)		(THIS_    					INT32 aveBandwidth,					INT32 packetLoss,					INT32 bandwidthWanted);    STDMETHOD(SetFirstSeqNum)		(THIS_					UINT16 uStreamNumber,					UINT16 uSeqNum);    STDMETHOD(SetRTPInfo)		(THIS_					UINT16 uStreamNumber,					UINT16 uSeqNum,					UINT32 ulRTPTime,					RTPInfoEnum info					);					    STDMETHOD(InitSockets)		(THIS);    STDMETHOD(GetCurrentBuffering)	(THIS_					UINT16	    uStreamNumber,					REF(INT64)  llLowestTimestamp, 					REF(INT64)  llHighestTimestamp,					REF(UINT32) ulNumBytes,					REF(BOOL)   bDone);    STDMETHOD(SeekFlush)		(THIS);    STDMETHOD_(BOOL, IsDataReceived)	(THIS);        STDMETHOD_(BOOL,IsSourceDone)	(THIS);    /*     *	IHXInterruptSafe methods     */    STDMETHOD_(BOOL,IsInterruptSafe)	(THIS) {return TRUE;};    /*     * IHXRTSPClientTransportResponse methods     */    STDMETHOD(PacketReady)		(THIS_					HX_RESULT status,					const char* pSessionID,					IHXPacket* pPacket);    STDMETHOD(OnRTTRequest)     	(THIS_                                	HX_RESULT status,					const char* pSessionID					);    STDMETHOD(OnRTTResponse)		(THIS_    					HX_RESULT status,					const char* pSessionID,					UINT32 ulSecs,					UINT32 ulUSecs);    STDMETHOD(OnBWReport)	     	(THIS_                                	HX_RESULT status,					const char* pSessionID,					INT32 aveBandwidth,					INT32 packetLoss,					INT32 bandwidthWanted					);    STDMETHOD(OnCongestion)		(THIS_    					HX_RESULT status,					const char* pSessionID,					INT32 xmitMultiplier,					INT32 recvMultiplier);    STDMETHOD(OnACK)			(THIS_					HX_RESULT status,					RTSPResendBuffer* pResendBuffer,					UINT16 uStreamNumber,					const char* pSessionID,					UINT16* pAckList,					UINT32 uAckListCount,					UINT16* pNakList,					UINT32 uNakListCount);    STDMETHOD(OnStreamDone)		(THIS_					HX_RESULT status,					UINT16 uStreamNumber);    STDMETHOD(OnSourceDone)		(THIS);    STDMETHOD(OnProtocolError)		(THIS_					HX_RESULT status);    /*     * IHXPendingStatus methods     */    STDMETHOD(GetStatus)		(THIS_					REF(UINT16) uStatusCode, 					REF(IHXBuffer*) pStatusDesc, 					REF(UINT16) ulPercentDone);    /*     * IHXResolverResponse methods     */    STDMETHOD(GetHostByNameDone)	(THIS_					HX_RESULT status,					UINT32 ulAddr);    /*     *	IHXStatistics methods     */    STDMETHOD (InitializeStatistics)	(THIS_					UINT32	/*IN*/ ulRegistryID);    STDMETHOD (UpdateStatistics)	(THIS);    STDMETHOD(OnPacket)			(THIS_					UINT16 uStreamNumber,					BasePacket** ppPacket);    STDMETHOD(SetConnectionTimeout)	(THIS_					UINT32 uSeconds);    STDMETHOD_(UINT16, GetProtocolType)	(THIS) {return m_uProtocolType;};

⌨️ 快捷键说明

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