📄 sm1rendr.h
字号:
STDMETHOD_(ULONG32,AddRef) (THIS);
STDMETHOD_(ULONG32,Release) (THIS);
// *** IHXRenderer methods ***
/************************************************************************
* Method:
* IHXRenderer::GetRendererInfo
* Purpose:
* Returns information vital to the instantiation of rendering
* plugins.
*/
STDMETHOD(GetRendererInfo) (THIS_
REF(const char**) /*OUT*/ pStreamMimeTypes,
REF(UINT32) /*OUT*/ unInitialGranularity
);
/////////////////////////////////////////////////////////////////////////
// Method:
// IHXRenderer::StartStream
// Purpose:
// Called by client engine to inform the renderer of the stream it
// will be rendering. The stream interface can provide access to
// its source or player. This method also provides access to the
// primary client controller interface.
//
STDMETHOD (StartStream) (THIS_
IHXStream* pStream,
IHXPlayer* pPlayer);
/////////////////////////////////////////////////////////////////////////
// Method:
// IHXRenderer::EndStream
// Purpose:
// Called by client engine to inform the renderer that the stream
// is was rendering is closed.
//
STDMETHOD (EndStream) (THIS);
/////////////////////////////////////////////////////////////////////////
// Method:
// IHXRenderer::OnHeader
// Purpose:
// Called by client engine when a header for this renderer is
// available. The header will arrive before any packets.
//
STDMETHOD (OnHeader) (THIS_
IHXValues* pHeader);
/////////////////////////////////////////////////////////////////////////
// Method:
// IHXRenderer::OnPacket
// Purpose:
// Called by client engine when a packet for this renderer is
// due.
//
STDMETHOD (OnPacket) (THIS_
IHXPacket* pPacket,
LONG32 lTimeOffset);
/////////////////////////////////////////////////////////////////////////
// Method:
// IHXRenderer::OnTimeSync
// Purpose:
// Called by client engine to inform the renderer of the current
// time relative to the streams synchronized time-line. The
// renderer should use this time value to update its display or
// render it's stream data accordingly.
//
STDMETHOD (OnTimeSync) (THIS_
ULONG32 ulTime);
/////////////////////////////////////////////////////////////////////////
// Method:
// IHXRenderer::OnPreSeek
// Purpose:
// Called by client engine to inform the renderer that a seek is
// about to occur. The render is informed the last time for the
// stream's time line before the seek, as well as the first new
// time for the stream's time line after the seek will be completed.
//
STDMETHOD (OnPreSeek) (THIS_
ULONG32 ulOldTime,
ULONG32 ulNewTime);
/////////////////////////////////////////////////////////////////////////
// Method:
// IHXRenderer::OnPostSeek
// Purpose:
// Called by client engine to inform the renderer that a seek has
// just occured. The render is informed the last time for the
// stream's time line before the seek, as well as the first new
// time for the stream's time line after the seek.
//
STDMETHOD (OnPostSeek) (THIS_
ULONG32 ulOldTime,
ULONG32 ulNewTime);
/////////////////////////////////////////////////////////////////////////
// Method:
// IHXRenderer::OnPause
// Purpose:
// Called by client engine to inform the renderer that a pause has
// just occured. The render is informed the last time for the
// stream's time line before the pause.
//
STDMETHOD (OnPause) (THIS_
ULONG32 ulTime);
/////////////////////////////////////////////////////////////////////////
// Method:
// IHXRenderer::OnBegin
// Purpose:
// Called by client engine to inform the renderer that a begin or
// resume has just occured. The render is informed the first time
// for the stream's time line after the resume.
//
STDMETHOD (OnBegin) (THIS_
ULONG32 ulTime);
/////////////////////////////////////////////////////////////////////////
// Method:
// IHXRenderer::OnBuffering
// Purpose:
// Called by client engine to inform the renderer that buffering
// of data is occuring. The render is informed of the reason for
// the buffering (start-up of stream, seek has occured, network
// congestion, etc.), as well as percentage complete of the
// buffering process.
//
STDMETHOD (OnBuffering) (THIS_
ULONG32 ulFlags,
UINT16 unPercentComplete);
/////////////////////////////////////////////////////////////////////////
// Method:
// IHXRenderer::GetDisplayType
// Purpose:
// Called by client engine to ask the renderer for it's preferred
// display type. When layout information is not present, the
// renderer will be asked for it's prefered display type. Depending
// on the display type a buffer of additional information may be
// needed. This buffer could contain information about preferred
// window size.
//
STDMETHOD (GetDisplayType) (THIS_
REF(HX_DISPLAY_TYPE) ulFlags,
REF(IHXBuffer*) pBuffer);
/************************************************************************
* Method:
* IHXRenderer::OnEndofPackets
* Purpose:
* Called by client engine to inform the renderer that all the
* packets have been delivered. However, if the user seeks before
* EndStream() is called, renderer may start getting packets again
* and the client engine will eventually call this function again.
*/
STDMETHOD(OnEndofPackets) (THIS);
/************************************************************************
* Method:
* IHXStatistics::InitializeStatistics
* Purpose:
* Pass registry ID to the caller
*/
STDMETHOD (InitializeStatistics)
(THIS_
UINT32 /*IN*/ ulRegistryID);
/************************************************************************
* Method:
* IHXStatistics::UpdateStatistics
* Purpose:
* Notify the client to update its statistics stored in the registry
*/
STDMETHOD (UpdateStatistics)(THIS);
// IHXPersistentRenderer methods
STDMETHOD(InitPersistent) (THIS_
UINT32 ulPersistentComponentID,
UINT16 uPersistentGroupID,
UINT16 uPersistentTrackID,
IHXPersistentRenderer* pPersistentParent);
STDMETHOD(GetPersistentID) (THIS_
REF(UINT32) ulPersistentComponentID);
STDMETHOD(GetPersistentProperties) (THIS_
REF(IHXValues*) pProperties);
STDMETHOD(GetElementProperties) (THIS_
UINT16 uGroupID,
UINT16 uTrackID,
REF(IHXValues*) pProperties);
STDMETHOD(AttachElementLayout) (THIS_
UINT16 uGroupID,
UINT16 uTrackID,
IHXRenderer* pRenderer,
IHXStream* pStream,
IHXValues* pProps);
STDMETHOD(DetachElementLayout) (THIS_
IUnknown* pLSG);
STDMETHOD(GetElementStatus) (THIS_
UINT16 uGroupID,
UINT16 uTrackID,
UINT32 ulCurrentTime,
REF(IHXValues*) pStatus);
};
#endif // _SM1RENDR_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -