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

📄 hxcore.h

📁 著名的 helix realplayer 基于手机 symbian 系统的 播放器全套源代码
💻 H
📖 第 1 页 / 共 4 页
字号:
 *	IHXRendererAdviseSink
 *
 *  Purpose:
 *	Provides access to notifications of initialization/changes to
 *	renderers in the player.
 *
 *  IID_IHXRendererAdviseSink
 *
 *	{0000040D-0901-11d1-8B06-00A024406D59}
 *
 */
DEFINE_GUID(IID_IHXRendererAdviseSink, 0x0000040D, 0x901, 
            0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXRendererAdviseSink

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

    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;

    STDMETHOD_(ULONG32,Release)	(THIS) PURE;

    /*
     * IHXRendererAdviseSink methods
     */

    STDMETHOD(TrackDurationSet)	(THIS_
				UINT32 ulGroupIndex,
				UINT32 ulTrackIndex,
				UINT32 ulDuration,
				UINT32 ulDelay,
				BOOL   bIsLive) PURE;

    STDMETHOD(RepeatedTrackDurationSet)	(THIS_
					const char*  pID,
					UINT32 ulDuration,					
				        BOOL   bIsLive) PURE;

    STDMETHOD(TrackUpdated)	(THIS_
				UINT32 ulGroupIndex,
				UINT32 ulTrackIndex,
				IHXValues* pValues) PURE;

   /************************************************************************
   *  Method:
   *      IHXRendererAdviseSink::RendererInitialized
   *  Purpose:
   *	  Notification of renderer initialization
   * 
   */
    STDMETHOD(RendererInitialized)	(THIS_
					IHXRenderer* pRenderer,
					IUnknown* pStream,
					IHXValues* pInfo) PURE;

   /************************************************************************
   *  Method:
   *      IHXRendererAdviseSink::RendererClosed
   *  Purpose:
   *	  Notification of renderer close
   * 
   */
    STDMETHOD(RendererClosed)		(THIS_
					IHXRenderer* pRenderer,
					IHXValues* pInfo) PURE;
};


/****************************************************************************
 * 
 *  Interface:
 *
 *	IHXLayoutStream
 *
 *  Purpose:
 *
 *	Interface that allows access/updates to stream properties
 *
 *  IID_IHXLayoutStream:
 *
 *	{0000040E-0901-11d1-8B06-00A024406D59}
 *
 */
DEFINE_GUID(IID_IHXLayoutStream, 0x0000040E, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 
			0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXLayoutStream

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

    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;

    STDMETHOD_(ULONG32,Release)	(THIS) PURE;

    /*
     * IHXLayoutStream methods
     */

    /************************************************************************
     *	Method:
     *	    IHXLayoutStream::GetProperty
     *	Purpose:
     *	    Get layout stream property
     *	    
     *
     */
    STDMETHOD(GetProperties)		(THIS_
					REF(IHXValues*) pValue) PURE;

    /************************************************************************
     *	Method:
     *	    IHXLayoutStream::SetProperty
     *	Purpose:
     *	    Set layout stream property
     *
     */
    STDMETHOD(SetProperties)		(THIS_
					IHXValues* pValue) PURE;
};

/****************************************************************************
 * 
 *  Interface:
 *
 *	IHXRendererUpgrade
 *
 *  Purpose:
 *
 *	Interface that tells the player to upgrade a particular set of renderers
 *
 *  IID_IHXRendererUpgrade:
 *
 *	{00000410-0901-11d1-8B06-00A024406D59}
 *
 */
DEFINE_GUID(IID_IHXRendererUpgrade, 0x00000410, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 
			0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXRendererUpgrade

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

    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;

    STDMETHOD_(ULONG32,Release)	(THIS) PURE;

    /*
     * IHXRendererUpgrade methods
     */

    /************************************************************************
     *	Method:
     *	    IHXRendererUpgrade::IsRendererAvailable
     *	Purpose:
     *	    Find out if the renderer is already loaded
     *	    
     *
     */
    STDMETHOD_(BOOL,IsRendererAvailable)	(THIS_
						const char* pMimeType) PURE;

    /************************************************************************
     *	Method:
     *	    IHXRendererUpgrade::ForceUpgrade
     *	Purpose:
     *	    Force an upgrade for any unloaded renderers
     *
     */
    STDMETHOD(ForceUpgrade)			(THIS) PURE;
};

/****************************************************************************
 * 
 *  Interface:
 *
 *	IHXValidator
 *
 *  Purpose:
 *
 *	Interface that provides validation
 *
 *  IID_IHXValidator:
 *
 *	{00000412-0901-11d1-8B06-00A024406D59}
 *
 */
DEFINE_GUID(IID_IHXValidator, 0x00000412, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 
			0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXValidator

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

    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;

    STDMETHOD_(ULONG32,Release)	(THIS) PURE;

    /*
     * IHXValidator methods
     */

    /************************************************************************
     *	Method:
     *	    IHXValidator::ValidateProtocol
     *	Purpose:
     *	    Find out if the protocol is valid
     *	    
     *
     */
    STDMETHOD_(BOOL,ValidateProtocol)	(THIS_
					 char* pProtocol) PURE;

    /************************************************************************
     *	Method:
     *	    IHXValidator::ValidateMetaFile
     *	Purpose:
     *	    Find out if it is a meta file
     *	    
     *
     */
    STDMETHOD(ValidateMetaFile)	(THIS_
				 IHXRequest* pRequest,
				 IHXBuffer* pContent) PURE;
};

/****************************************************************************
 * 
 *  Interface:
 *
 *	IHXPrivateStreamSource
 *
 *  Purpose:
 *		This interface is being added for the sole purpose of implementing 
 *		IsSaveAllowed on our stream source objects.  We need to get this in
 *		for alpha-3 of the player, since it would be very bad to put out a 
 *		player version that allowed recording of content that was supposed to
 *		be unrecordable.  This method should be moved into IHXStreamSource
 *		as soon as is convenient.
 *
 *  IHXPrivateStreamSource:
 *
 *	 {57DFD0E2-C76E-11d1-8B5C-006008065552}
 *
 */
 
DEFINE_GUID(IID_IHXPrivateStreamSource, 0x57dfd0e2, 0xc76e, 0x11d1, 0x8b, 0x5c, 
		0x0, 0x60, 0x8, 0x6, 0x55, 0x52);

#undef  INTERFACE
#define INTERFACE   IHXPrivateStreamSource

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

    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;

    STDMETHOD_(ULONG32,Release)	(THIS) PURE;

    /*
     * IHXPrivateStreamSource methods
     */


    STDMETHOD_ (BOOL,IsSaveAllowed)	(THIS) PURE;

};

// $EndPrivate.

/****************************************************************************
 * 
 *  Interface:
 *
 *	IHXPlayer2
 *
 *  Purpose:
 *
 *	Extra methods in addition to IHXPlayer
 *
 *  IID_IHXPlayer2:
 *
 *	{00000411-0901-11d1-8B06-00A024406D59}
 *
 */
DEFINE_GUID(IID_IHXPlayer2, 0x00000411, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 
			0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXPlayer2

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

    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;

    STDMETHOD_(ULONG32,Release)	(THIS) PURE;

    /************************************************************************
     *	Method:
     *	    IID_IHXPlayer2::SetMinimumPreroll
     *	Purpose:
     *	    Call this method to set the minimum preroll of this clip
     */
    STDMETHOD(SetMinimumPreroll) (THIS_
				UINT32	ulMinPreroll) PURE;

    /************************************************************************
     *	Method:
     *	    IID_IHXPlayer2::GetMinimumPreroll
     *	Purpose:
     *	    Call this method to get the minimum preroll of this clip
     */
    STDMETHOD(GetMinimumPreroll) (THIS_
				REF(UINT32) ulMinPreroll) PURE;

    /************************************************************************
     *	Method:
     *	    IID_IHXPlayer2::OpenRequest
     *	Purpose:
     *	    Call this method to open the IHXRequest
     */
    STDMETHOD(OpenRequest) (THIS_
			    IHXRequest* pRequest) PURE;

    /************************************************************************
     *	Method:
     *	    IID_IHXPlayer2::GetRequest
     *	Purpose:
     *	    Call this method to get the IHXRequest
     */
    STDMETHOD(GetRequest) (THIS_
			   REF(IHXRequest*) pRequest) PURE;
};

// $Private:
/****************************************************************************
 * 
 *  Interface:
 *
 *	IHXUpdateProperties
 *
 *  Purpose:
 *
 *	update any offset related stuff
 *
 *  IID_IHXUpdateProperties:
 *
 *	{00000413-0901-11d1-8B06-00A024406D59}
 *
 */
DEFINE_GUID(IID_IHXUpdateProperties, 0x00000413, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 
			0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXUpdateProperties

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

    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;

    STDMETHOD_(ULONG32,Release)	(THIS) PURE;

    /************************************************************************
     *	Method:
     *	    IHXUpdateProperties::UpdatePacketTimeOffset
     *	Purpose:
     *	    Call this method to update the timestamp offset of cached packets
     */
    STDMETHOD(UpdatePacketTimeOffset) (THIS_
				       INT32 lTimeOffset) PURE;

    /************************************************************************
     *	Method:
     *	    IHXUpdateProperties::UpdatePlayTimes
     *	Purpose:
     *	    Call this method to update properties
     */
    STDMETHOD(UpdatePlayTimes)	      (THIS_
				       IHXValues* pProps) PURE;
};
// $EndPrivate.

/****************************************************************************
 * 
 *  Interface:
 *
 *	IHXPlayerNavigator
 *
 *  Purpose:
 *
 *	navigate player objects
 *
 *  IID_IHXPlayerNavigator:
 *
 *	{00000414-0901-11d1-8B06-00A024406D59}
 *
 */
DEFINE_GUID(IID_IHXPlayerNavigator, 0x00000414, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 
			0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXPlayerNavigator

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

    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;

    STDMETHOD_(ULONG32,Release)	(THIS) PURE;

    /************************************************************************
     *	Method:
     *	    IHXPlayerNavigator::AddChildPlayer
     *	Purpose:
     *	    Add child player to the current player
     */
    STDMETHOD(AddChildPlayer)	    (THIS_
				    IHXPlayer* pPlayer) PURE;

    /************************************************************************
     *	Method:
     *	    IHXPlayerNavigator::RemoveChildPlayer
     *	Purpose:
     *	    Remove child player from the current player
     */
    STDMETHOD(RemoveChildPlayer)    (THIS_
				    IHXPlayer* pPlayer) PURE;

    /************************************************************************
     *	Method:
     *	    IHXPlayerNavigator::GetNumChildPlayer
     *	Purpose:
     *	    Get number of the child players
     */
    STDMETHOD_(UINT16, GetNumChildPlayer)    (THIS) PURE;

    /************************************************************************
     *	Method:

⌨️ 快捷键说明

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