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

📄 hxcore.h

📁 著名的 helix realplayer 基于手机 symbian 系统的 播放器全套源代码
💻 H
📖 第 1 页 / 共 4 页
字号:
     *	    IHXPlayerNavigator::GetChildPlayer
     *	Purpose:
     *	    Get Nth child player
     */
    STDMETHOD(GetChildPlayer)	    (THIS_
				    UINT16 uPlayerIndex,
				    REF(IHXPlayer*) pPlayer) PURE;

    /************************************************************************
     *	Method:
     *	    IHXPlayerNavigator::SetParentPlayer
     *	Purpose:
     *	    Set the parent player
     */
    STDMETHOD(SetParentPlayer)	    (THIS_
				    IHXPlayer* pPlayer) PURE;

    /************************************************************************
     *	Method:
     *	    IHXPlayerNavigator::RemoveParentPlayer
     *	Purpose:
     *	    Remove the parent player
     */
    STDMETHOD(RemoveParentPlayer)   (THIS_
				    IHXPlayer* pPlayer) PURE;

    /************************************************************************
     *	Method:
     *	    IHXPlayerNavigator::GetParentPlayer
     *	Purpose:
     *	    Get the parent player
     */
    STDMETHOD(GetParentPlayer)	    (THIS_
				    REF(IHXPlayer*) pPlayer) PURE;
};

// $Private:
/****************************************************************************
 * 
 *  Interface:
 *
 *	IHXPersistentComponentManager
 *
 *  Purpose:
 *
 *	persistent component manager
 *
 *  IID_IHXPersistentComponentManager
 *
 *	{00000415-0901-11d1-8B06-00A024406D59}
 *
 */
DEFINE_GUID(IID_IHXPersistentComponentManager, 0x00000415, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 
			0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXPersistentComponentManager

DECLARE_INTERFACE_(IHXPersistentComponentManager, IUnknown)
{
    /*
     * IUnknown methods
     */
    STDMETHOD(QueryInterface)	(THIS_
				REFIID riid,
				void** ppvObj) PURE;

    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;

    STDMETHOD_(ULONG32,Release)	(THIS) PURE;

    /************************************************************************
     *	Method:
     *	    IHXPersistentComponentManager::CreatePersistentComponent
     *	Purpose:
     *	    create persistent component
     */
    STDMETHOD(CreatePersistentComponent)    (THIS_
					    REF(IHXPersistentComponent*)   pPersistentComponent) PURE;


    /************************************************************************
     *	Method:
     *	    IHXPersistentComponentManager::AddPersistentComponent
     *	Purpose:
     *	    add persistent component
     */
    STDMETHOD(AddPersistentComponent)	    (THIS_
					    IHXPersistentComponent*	pPersistentComponent) PURE;

    /************************************************************************
     *	Method:
     *	    IHXPersistentComponentManager::RemovePersistentComponent
     *	Purpose:
     *	    remove persistent component
     */
    STDMETHOD(RemovePersistentComponent)    (THIS_
					    UINT32 ulPersistentComponentID) PURE;

    /************************************************************************
     *	Method:
     *	    IHXPersistentComponentManager::GetPersistentComponentInfo
     *	Purpose:
     *	    get persistent component information
     */
    STDMETHOD(GetPersistentComponent)	    (THIS_
					    UINT32			    ulPersistentComponentID,
					    REF(IHXPersistentComponent*)   pPersistentComponent) PURE;

    /************************************************************************
     *	Method:
     *	    IHXPersistentComponentManager::AttachPersistentComponentLayout
     *	Purpose:
     *	    get persistent component information
     */
    STDMETHOD(AttachPersistentComponentLayout)	(THIS_
						IUnknown*   pLSG,
						IHXValues* pProps) PURE;	
};

/****************************************************************************
 * 
 *  Interface:
 *
 *	IHXPersistentComponent
 *
 *  Purpose:
 *
 *	persistent component
 *
 *  IID_IHXPersistentComponent
 *
 *	{00000416-0901-11d1-8B06-00A024406D59}
 *
 */
DEFINE_GUID(IID_IHXPersistentComponent, 0x00000416, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 
			0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXPersistentComponent

DECLARE_INTERFACE_(IHXPersistentComponent, IUnknown)
{
    /*
     * IUnknown methods
     */
    STDMETHOD(QueryInterface)	(THIS_
				REFIID riid,
				void** ppvObj) PURE;

    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;

    STDMETHOD_(ULONG32,Release)	(THIS) PURE;

    /************************************************************************
     *	Method:
     *	    IHXPersistentComponent::Init
     *	Purpose:
     *	    initialize persistent component
     */
    STDMETHOD(Init)			(THIS_
                               		IHXPersistentRenderer* pPersistentRenderer) PURE;

    /************************************************************************
     *	Method:
     *	    IHXPersistentComponent::AddRendererAdviseSink
     *	Purpose:
     *	    add renderer advise sink
     */
    STDMETHOD(AddRendererAdviseSink)	(THIS_
                               		IHXRendererAdviseSink* pSink) PURE;

    /************************************************************************
     *	Method:
     *	    IHXPersistentComponent::RemoveRendererAdviseSink
     *	Purpose:
     *	    remove renderer advise sink
     */
    STDMETHOD(RemoveRendererAdviseSink)	(THIS_
                               		IHXRendererAdviseSink* pSink) PURE;

    /************************************************************************
     *	Method:
     *	    IHXPersistentComponent::AddGroupSink
     *	Purpose:
     *	    add renderer advise sink
     */
    STDMETHOD(AddGroupSink)		(THIS_
                               		IHXGroupSink* pSink) PURE;

    /************************************************************************
     *	Method:
     *	    IHXPersistentComponent::RemoveGroupSink
     *	Purpose:
     *	    remove renderer advise sink
     */
    STDMETHOD(RemoveGroupSink)		(THIS_
                               		IHXGroupSink* pSink) PURE;

    /************************************************************************
     *	Method:
     *	    IHXPersistentComponent::GetPersistentRenderer
     *	Purpose:
     *	    get persistent renderer
     */
    STDMETHOD(GetPersistentRenderer)	(THIS_
                               		REF(IHXPersistentRenderer*) pPersistentRenderer) PURE;

    /************************************************************************
     *	Method:
     *	    IHXPersistentComponent::GetPersistentProperties
     *	Purpose:
     *	    get persistent component properties
     */
    STDMETHOD(GetPersistentProperties)	(THIS_
                               		REF(IHXValues*) pProperties) PURE;
};

/****************************************************************************
 * 
 *  Interface:
 *
 *	IID_IHXClientStatisticsGranularity
 *
 *  Purpose:
 *
 *	Enables users to set the Granularity at which statistics are 
 *	gathered. This allows machines under high load to still run
 *	efficiently.
 *	
 *
 *  IID_IHXClientStatisticsGranularity
 *
 *	{00000416-0901-11d1-8B06-00A024406D59}
 *
 */
DEFINE_GUID(IID_IHXClientStatisticsGranularity, 0x00000417, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 
			0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXClientStatisticsGranularity

DECLARE_INTERFACE_(IHXClientStatisticsGranularity, IUnknown)
{
    /*
     * IUnknown methods
     */
    STDMETHOD(QueryInterface)	(THIS_
				REFIID riid,
				void** ppvObj) PURE;

    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;

    STDMETHOD_(ULONG32,Release)	(THIS) PURE;

    /************************************************************************
     *	Method:
     *	    IHXClientStatisticsGranularity::SetStatsGranularity
     *	Purpose:
     *	    Set the granularity
     */
    STDMETHOD(SetStatsGranularity) (THIS_ ULONG32 ulGranularity) PURE;
};

// $EndPrivate.

// $Private:

/****************************************************************************
 * 
 *  Interface:
 *
 *	IID_IHXSourceBufferingStats
 *
 *  Purpose:
 *
 *	Enables users to get the current buffering status of the 
 *	given source. 
 *	
 *
 *      IID_IHXSourceBufferingStats
 *
 *	{00000418-0901-11d1-8B06-00A024406D59}
 *
 */
DEFINE_GUID(IID_IHXSourceBufferingStats, 0x00000418, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 
			0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXSourceBufferingStats

DECLARE_INTERFACE_(IHXSourceBufferingStats, IUnknown)
{
    /************************************************************************
     *	Method:
     *	    IHXSourceBufferingStats::GetCurrentBuffering
     *	Purpose:
     *	    Get the current buffering information
     */

    STDMETHOD(GetCurrentBuffering)  (THIS_ UINT16  uStreamNumber,
				     REF(INT64)  llLowestTimestamp, 
				     REF(INT64)  llHighestTimestamp,
				     REF(UINT32) ulNumBytes,
				     REF(BOOL)   bDone) PURE;
};


/****************************************************************************
 * 
 *  Interface:
 *
 *	IID_IHXSourceBufferingStats2
 *
 *  Purpose:
 *
 *	Enables users to get the current buffering status of the 
 *	given source. 
 *	
 *
 *      IID_IHXSourceBufferingStats2
 *
 *	{00000418-0901-11d1-8B06-00A024406D5A}
 *
 */
DEFINE_GUID(IID_IHXSourceBufferingStats2, 0x00000418, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 
			0xa0, 0x24, 0x40, 0x6d, 0x5a);

#undef  INTERFACE
#define INTERFACE   IHXSourceBufferingStats2

DECLARE_INTERFACE_(IHXSourceBufferingStats2, IHXSourceBufferingStats)
{
    /************************************************************************
     *	Method:
     *	    IHXSourceBufferingStats2::GetCurrentBuffering
     *	Purpose:
     *	    Get the amount of buffering in the transport
     */
    STDMETHOD(GetCurrentBuffering)  (THIS_ UINT16  uStreamNumber,
				     REF(INT64)  llLowestTimestamp, 
				     REF(INT64)  llHighestTimestamp,
				     REF(UINT32) ulNumBytes,
				     REF(BOOL)   bDone) PURE;

    /************************************************************************
     *	Method:
     *	    IHXSourceBufferingStats2::GetTotalBuffering
     *	Purpose:
     *	    Get the total amount of data buffered for a stream.
     *      This includes what is in the transport buffer and in
     *      the renderer
     */

    STDMETHOD(GetTotalBuffering)  (THIS_ UINT16  uStreamNumber,
				   REF(INT64)  llLowestTimestamp, 
				   REF(INT64)  llHighestTimestamp,
				   REF(UINT32) ulNumBytes,
				   REF(BOOL)   bDone) PURE;
};

// $EndPrivate.

// $Private:

/****************************************************************************
 * 
 *  Interface:
 *
 *	IID_IHXPlayerPresentation
 *
 *  Purpose:
 *
 *	Control over the player's current presentation
 *	
 *      IID_IHXPlayerPresentation
 *
 *	{6DE011A7-EF05-417b-9367-6FE0E54302D3}
 *
 */
DEFINE_GUID(IID_IHXPlayerPresentation, 0x6de011a7, 0xef05, 0x417b, 0x93, 0x67, 0x6f, 0xe0, 0xe5, 0x43, 0x2, 0xd3);

#undef  INTERFACE
#define INTERFACE   IHXPlayerPresentation

DECLARE_INTERFACE_(IHXPlayerPresentation, IUnknown)
{
    /************************************************************************
     *	Method:
     *	    IHXPlayerPresentation::ClosePresentation
     *	Purpose:
     *	    Call this method to close the player's current presentation.  This will free
     *	    all resources associated with the current presentation.
     */
    STDMETHOD(ClosePresentation)    (THIS) PURE;
};

// $EndPrivate.



// $Private:

/****************************************************************************
 * 
 *  Interface:
 *
 *	IID_IHXCoreMutex
 *
 *  Purpose:
 *
 *	Access the core mutex
 *	
 *      IID_IHXCoreMutex
 *
 *	{6DE011A7-EF05-417b-9367-6FE0E44404D4}
 *
 */
DEFINE_GUID(IID_IHXCoreMutex, 0x6de011a7, 0xef05, 0x417b, 0x93, 0x67, 0x6f, 0xe0, 0xe4, 0x44, 0x4, 0xd4);

#undef  INTERFACE
#define INTERFACE   IHXCoreMutex

DECLARE_INTERFACE_(IHXCoreMutex, IUnknown)
{
    /************************************************************************
     *	Method:
     *	    IHXCoreMutex::LockCoreMutex
     *	Purpose:
     *      Call this method to lock the client engine's core mutex.
     */
    STDMETHOD(LockCoreMutex)    (THIS) PURE;

    /************************************************************************
     *	Method:
     *	    IHXCoreMutex::UnlockCoreMutex
     *	Purpose:
     *      Call this method to unlock the client engine's core mutex.
     */
    STDMETHOD(UnlockCoreMutex)    (THIS) PURE;
};


/****************************************************************************
 * 
 *  Interface:
 *
 *	IID_IHXMacBlitMutex
 *
 *  Purpose:
 *
 *	Access the Mac blitting mutex
 *
 *	Used for all Mac drawing, in both the core and the tlc. This
 *	mutex prevents quickdraw (and/or the image compression manager)
 *	from re-entering which causes crashes on OS X.
 *	
 *      IID_IHXCoreMutex
 *
 *	{294e6de4-fbc6-4c06-bb94-95a969373b4d}
 *
 */
DEFINE_GUID(IID_IHXMacBlitMutex, 0x294e6de4,  0xfbc6,  0x4c06,  0xbb,  0x94,  0x95, 0xa9,  0x69,  0x37,  0x3b,  0x4d);

#undef  INTERFACE
#define INTERFACE   IHXMacBlitMutex

DECLARE_INTERFACE_(IHXMacBlitMutex, IUnknown)
{
    /************************************************************************
     *	Method:
     *	    IHXMacBlitMutex::LockMacBlitMutex
     *	Purpose:
     *      Call this method to lock the client engine's core mutex.
     */
    STDMETHOD(LockMacBlitMutex)    (THIS) PURE;

    /************************************************************************
     *	Method:
     *	    IHXMacBlitMutex::UnlockMacBlitMutex
     *	Purpose:
     *      Call this method to unlock the client engine's core mutex.
     */
    STDMETHOD(UnlockMacBlitMutex)    (THIS) PURE;
};

// $EndPrivate.



#endif /* _HXCORE_H_ */

⌨️ 快捷键说明

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