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

📄 ppffplin.h

📁 linux下的一款播放器
💻 H
📖 第 1 页 / 共 2 页
字号:
        HX_RESULT GetSocket     (UINT32 ulAddr, UINT16 uPort, UINT16 iStream, 			    REF(IHXUDPSocket*) pSock, 			    REF(IHXUDPResponse*) pResp,			    REF(BOOL) bNewSocket);			        HX_RESULT HandleRTPMsg	    (HX_RESULT status, IHXBuffer* pBuf, UINT16 iStream);    HX_RESULT HandleRTCPMsg	    (HX_RESULT status, IHXBuffer* pBuf, UINT16 iStream);    HX_RESULT SyncStreams	    (void);    HX_RESULT ProcessFileHeaderCallback(void);    BOOL      IsFileHeaderReady(CHXPtrArray* prgStreams, REF(UINT32) ulTimeoutVal);    UINT32    AssignStreamNumbers(UINT32 ulNumInterfacesReady,	CHXPtrArray** ppInterfacesReady);    HX_RESULT SwitchToUnicast	    (void);    BOOL      GetSourceObj(REF(CPurePlaySource*)pSrc, UINT32 i);    BOOL      GetStreamObj(REF(CStream*)pStrm, UINT32 i);    HX_RESULT Distribute(ULONG32 ulDistributionMode,			 ULONG32 ulVal1, 			 ULONG32 ulVal2 = 0);    // for stats    void      statistics_cat	    (char* pStats, UINT32 ulStatsBufLen, LONG32 lData);    BOOL      GetRAStreamNum	    (REF(UINT32) ulRAStreamNum);    BOOL      SendStatistics	    (void);    HX_RESULT BeginPost		    (CHAR* pszStats);private:    /****** Private Class Variables ****************************************/    INT32			m_lRefCount;    IUnknown*			m_pContext;    IHXStreamDescription*	m_pStreamDesc;    IHXRTPPayloadInfo*		m_pRTPInfo;    IHXErrorMessages*		m_pLog;    IHXScheduler*		m_pScheduler;    IHXRegistry*		m_pRegistry;    IHXCommonClassFactory*	m_pClassFactory;    /*    *	needed for switching to unicast    */public:        TryUnicast			m_tryUnicast;    CHXString			m_strLastErr;private:    IHXFileObject*		m_pFileObject;    CHXSimpleList*              m_pFileBufferList;    IHXBuffer*			m_pSDPDesc;        IHXValues*			m_pFileHeader;    CHXPtrArray			m_rgStreams;    CStream*			m_pMasterSyncStream;    IHXFormatResponse*		m_pFFResponse;    //PurePlayFFState		m_state;    BOOL			m_bInitialPacket;    UINT16			m_uActiveStreams;    CallbackHandle		m_hFileHeader;    ULONG32			m_ulFileHeaderWaitStartTime;    ULONG32			m_ulListeningWaitStartTime;    BOOL			m_bOneMoreTry;    // this time out value is taken from the player preference        UINT32			m_ulServerTimeout;    // this is teaken from SDP if present, otherwise it is assigned the    // same value as m_ulServerTimeout    UINT32			m_ulFailoverTimeout;        UINT16			m_uStatusCode;    IHXBuffer*			m_pStatusDesc;    IHXBuffer*			m_pCName;    IHXBuffer*			m_pUserName;    IHXBuffer*			m_pTool;    IHXBuffer*			m_pEmail;        BOOL			m_bSourceAdmissionClosed;    BOOL			m_bRMPresentation;    BOOL			m_bDisableOffsetting;    INT32 			m_lSmallestTSStrm;    ULONG32			m_ulSmallestTS;    ULONG32			m_ulHXOffset;    ULONG32			m_ulStartTimeMS;    UINT32			m_ulFirstTSSent;    BOOL			m_bFirstPktSent;	BOOL			m_bFirstPktRcvd;        IHXRequest*		m_pRequest;        INT32			m_lRAStreamNum;    BOOL			m_bWantClientStats;    BOOL			m_bAttempMulticast;    CHXPtrArray**		m_ppInterfacesReady;    ULONG32			m_ulNumInterfacesReady;    /*     *	class to deal with multiple NICs.  Will be deleted as soon as      *  we decide a NIC to use...     */    class InterfaceManager    {    public:	InterfaceManager(UINT32 ulNumInterfaces);	~InterfaceManager();	/* set it in Host byte order */	void SetInterface(UINT32 ulInterfaceNo, UINT32 ulInterface);	CHXPtrArray* GetSession(UINT32 ulInterfaceNo);	void SetSession(UINT32 ulInterfaceNo, CHXPtrArray* pSession);		UINT32		m_ulNumInterfaces;	UINT32*		m_pulInterfaces;	// holds an CHXPtrArray*s of CPurePlaySource*s	CHXPtrArray	m_rgInterfaceSessions;    };        InterfaceManager*		m_pInterfaceMgr;        // for stats    static const char*		zm_pRegistryEntryies[];               #ifdef BW_BASED    INT32			m_lRuleNumber;#endif    #ifdef _DEBUG    BOOL			m_bFileHeaderReadyCalled;#endif    #ifdef XXXGo_DEBUG    FILE*			m_file;#endifpublic:	PurePlayFFState		m_state;public:    /****** Public functions************************************************/    HX_RESULT	GetLogger(REF(IHXErrorMessages*) pLog);    BOOL        IsSourceAdmissionClosed() { return m_bSourceAdmissionClosed; }    inline	PurePlayFFState GetCurrentState(void);        BOOL   	IsRMPresentation(void) { return m_bRMPresentation; }    BOOL	IsRAStream(UINT32 ulStrmNum);    BOOL	WantClientStats() { return m_bWantClientStats; }    void	SetMasterSyncStream(CStream* pSyncStream)    {	m_pMasterSyncStream = pSyncStream;    }    CStream*	GetMasterSyncStream(void)     { 	return m_pMasterSyncStream;     }    BOOL	HasMasterSyncStream(void)     { 	return (m_pMasterSyncStream != NULL);     }        // error reporting    void      ReportError	    (UINT32 ulErrID, const UINT8 chSeverity, HX_RESULT ulHXCode);    void      ReportErrorWithFormat (UINT32 ulErrID, REF(CHXString) strText, const UINT8 chSeverity, HX_RESULT ulHXCode);private:    HX_RESULT	MakeHeader(HX_RESULT status);    BOOL    GetStreamCountNoTrust(IHXValues** ppHeaders, 				  UINT16 unNumHeader,				  REF(ULONG32) ulNumStream);    BOOL    DetermineIfRMPresentation(IHXValues* pFileHeader,				      IHXValues** ppStrmHeaders,				      ULONG32 ulNumStreams);    BOOL    GetSubscriptionBW(IHXValues* pFileHeader, 			      IHXValues** ppStrmHeaders,			      UINT16 unNumStrmHeaders,			      REF(UINT32*) pulSubscriptionBW,			      UINT32 ulNumStreams,			      IHXBuffer* pBandwidth);					      BOOL    GetRightHeaders(REF(IHXValues**)	ppRealHeaders, // out     			    UINT32		ulNumStreams,	     		    IHXValues**	ppHeaders,     			    UINT32		cHeaders,     			    UINT32*             pulSubscriptionBW);    // error reporting    HX_RESULT GetResourceErrorString(UINT32 ulErrID, REF(CHXString) strErr);    void      GetDefaultErrorString(UINT32 ulErrID, REF(CHXString) strErr);    void      ClearFileBufferList();    HX_RESULT AggregateBuffers(REF(IHXBuffer*) rpBuffer);private:    /**************************************************************************    * Callback to figure out the number of streams    */    class CFileHeaderCallback : public IHXCallback    {    public:	CFileHeaderCallback(CPurePlayFileFormat* pFF);	~CFileHeaderCallback();	// *** IUnknown methods ***	STDMETHOD(QueryInterface)	(THIS_					REFIID riid,					void** ppvObj);	STDMETHOD_(ULONG32,AddRef)	(THIS);	STDMETHOD_(ULONG32,Release)	(THIS);	STDMETHOD(Func)			(THIS);    private:	INT32			    m_lRefCount;	CPurePlayFileFormat*	    m_pFF;    };    friend class CFileHeaderCallback;    friend class CPurePlaySource;private:    /****** Private Static Class Variables *********************************/    static const char*		zm_pDescription;    static const char*		zm_pCopyright;    static const char*		zm_pMoreInfoURL;    static const char*		zm_pFileMimeTypes[];    static const char*		zm_pFileExtensions[];    static const char*		zm_pFileOpenNames[];};_INTERFACE IHXHyperNavigate;class CUnicastCallback: public IHXCallback{public:    CUnicastCallback(IHXScheduler* pScheduler, 		     IHXPlayer* pPlayer, 		     IHXHyperNavigate* pHyperNavigate,		     const char* pURL);    ~CUnicastCallback();    // *** IUnknown methods ***    STDMETHOD(QueryInterface)	(THIS_				 REFIID riid,				 void** ppvObj);        STDMETHOD_(ULONG32,AddRef)	(THIS);        STDMETHOD_(ULONG32,Release)	(THIS);        STDMETHOD(Func)		(THIS);    private:    INT32			m_lRefCount;    IHXScheduler*		m_pScheduler;    IHXPlayer*			m_pPlayer;    IHXHyperNavigate*		m_pHyperNavigate;    CHXString			m_strURL;};#endif // ndef _PPLYPLIN_H_

⌨️ 快捷键说明

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