📄 hxcore.h
字号:
STDMETHOD(RemoveRendererAdviseSink) (THIS_ IHXRendererAdviseSink* pSink) PURE;};/**************************************************************************** * * Interface: * 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 IHXRendererAdviseSinkDECLARE_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 IHXLayoutStreamDECLARE_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 IHXRendererUpgradeDECLARE_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 IHXValidatorDECLARE_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 IHXPrivateStreamSourceDECLARE_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 IHXPlayer2DECLARE_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 IHXUpdatePropertiesDECLARE_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 IHXPlayerNavigatorDECLARE_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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -