📄 sm1rendr.h
字号:
IUnknown* /*IN*/ pContext); // *** IUnknown methods *** STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj); 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 + -