📄 hxlvpix.h
字号:
STDMETHOD_(ULONG32,Release) (THIS) PURE; /* * IHXLiveRealPix methods */ /* * StartEncoder() must be called before anything else and a pointer to * an IHXLiveRealPixResponse interface must be passed in. The encoder will * respond to this call asynchronously with IHXLiveRealPixResponse::EncoderStarted(). */ STDMETHOD(StartEncoder) (THIS_ PixInitInfo *pInitInfo, IHXLiveRealPixResponse *pResponse) PURE; /* * InitImage() is called to prep an image for being sent. It returns several useful * pieces of information which the caller can make use of: the handle to refer to * the image in SendImage(), the number of packets this image will be broken up into, * and the time required to send this image in milliseconds. Note that InitImage() * simply breaks the image up into packets - nothing has been sent to the server yet. * This is not an asynchronous call - all processing has finished by the time this * call returns. */ STDMETHOD(InitImage) (THIS_ PixImageInfo *pImageInfo) PURE; /* * SendImage() tranfers the all the packets for the image referred to by ulImageHandle * into the packet send queue. Further calls to Process() will result in these * packets being sent to the RealServer. When all the packets for this image have * been sent, the encoder will respond with IHXLiveRealPixResponse::ImageSent(). */ STDMETHOD(SendImage) (THIS_ UINT32 ulImageHandle) PURE; /* * SendEffect() creates an effect packet with the information contained in * the PixEffectInfo struct and immediately adds this packet to the packet * send queue. Further calls to Process() will result in this packet being * sent to the server. A handle is returned in the PixEffectInfo struct by * which this effect can later be identified. When the effect has been * sent to the server, the encoder will respond with * IHXLiveRealPixResponse::EffectSent(). */ STDMETHOD(SendEffect) (THIS_ PixEffectInfo *pEffectInfo) PURE; /* * StopEncoder() may be called at any time after calling StartEncoder(). * This tells the encoder that no more images of effects are going to * be sent to the encoder. The encoder shuts down the connection to * the server and responds with IHXLiveRealPixResponse::EncoderStopped(). */ STDMETHOD(StopEncoder) (THIS) PURE; /* * GetTime() returns the time in milliseconds since the encoder library was initialized. */ STDMETHOD_(UINT32, GetTime) (THIS) PURE; /* * Process() must be called in order to give the library time to send * packets to the server. It should be called very often in between SendImage() * and ImageSent(), as well as between SendEffect() and EffectSent(). Other * that these times, it should be called every 3-5 seconds. */ STDMETHOD(Process) (THIS) PURE;};/**************************************************************************** * * Interface: * * IHXLiveRealPixResponse * * Purpose: * * Asynchronous response interface that allows an application to * encode live RealPix * * IID_IHXLiveRealPixResponse: * * {E7ADF46C-477D-11d2-AA0C-0060972D23A7} * */DEFINE_GUID(IID_IHXLiveRealPixResponse, 0xe7adf46c, 0x477d, 0x11d2, 0xaa, 0xc, 0x0, 0x60, 0x97, 0x2d, 0x23, 0xa7);#undef INTERFACE#define INTERFACE IHXLiveRealPixResponseDECLARE_INTERFACE_(IHXLiveRealPixResponse, IUnknown){ /* * IUnknown methods */ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void **ppvObj) PURE; STDMETHOD_(ULONG32,AddRef) (THIS) PURE; STDMETHOD_(ULONG32,Release) (THIS) PURE; /* * IHXLiveRealPixResponse methods */ /* * EncoderStarted() is the asynchronous response to StartEncoder(). The status * argument tells whether initializing the server was successful or not, and the pszHeaderString * argument returns the text string returned by the RealServer. */ STDMETHOD(EncoderStarted) (THIS_ HX_RESULT status, const char *pszHeaderString) PURE; /* * ImageSent() is the asynchronous response to SendImage(). The ulImageHandle argument * identifies which image has just completed sending to the server, and the status * argument tells whether or not the send was successful or not. */ STDMETHOD(ImageSent) (THIS_ HX_RESULT status, UINT32 ulImageHandle) PURE; /* * EffectSent() is the asynchronous response to SendEffect(). The ulEffectHandle argument * identifies which effect has just completed sending to the server, and the status * argument tells whether or not the send was successful or not. */ STDMETHOD(EffectSent) (THIS_ HX_RESULT status, UINT32 ulEffectHandle) PURE; /* * EncoderStopped() is the asynchronous response to StopEncoder(). The status * argument tells whether or not the stopping of the encoder was successful. * If the status is HXR_OK, then the application can then shut down or turn * around and call StartEncoder() again. */ STDMETHOD(EncoderStopped) (THIS_ HX_RESULT status) PURE; /* * ErrorOccurred() is called when the encoder receives an error from the RealServer. * Depending upon the severity of the error, the RealServer may then shut down * the encoder and an EncoderStopped() call would be made. Therefore, the * application should be ready to handle an EncoderStopped() call at any time. * If an error occurs, it's probably a good idea to call StopEncoder() and shut * down the encoder from the application side anyway. */ STDMETHOD(ErrorOccurred) (THIS_ const UINT8 unSeverity, const ULONG32 ulHXCode, const ULONG32 ulUserCode, const char *pszUserString, const char *pszMoreInfoURL) PURE;};/**************************************************************************** * * Interface: * * IHXLiveRealPixResend * * Purpose: * * Allows re-sending and releasing of images with IHXLiveRealPix * * IID_IHXLiveRealPixResend: * * {D814DA11-8B02-11D3-8AF3-00C0F030B4E5} */DEFINE_GUID(IID_IHXLiveRealPixResend, 0xd814da11, 0x8b02, 0x11d3, 0x8a, 0xfe, 0x0, 0xc0, 0xf0, 0x30, 0xb4, 0xe5);#undef INTERFACE#define INTERFACE IHXLiveRealPixResendDECLARE_INTERFACE_(IHXLiveRealPixResend, IUnknown){ /* * IUnknown methods */ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE; STDMETHOD_(ULONG32,AddRef) (THIS) PURE; STDMETHOD_(ULONG32,Release) (THIS) PURE; /* * IHXLiveRealPixResend methods */ /* * InitResend() informs the encoder that from now on, after an * image is sent with SendImage() it should not be discarded * but held in the encoder until ReleaseImage() is called(). */ STDMETHOD(InitResend) (THIS_ IHXValues* pOptions) PURE; /* * ReleaseImage() informs the encoder that the application no longer * intends to call SendImage() on the image referenced by ulImageHandle * and that it can discard the image. Further calls to SendImage(x) will * return HXR_UNKNOWN_IMAGE after ReleaseImage(x) has been called. * ReleaseImage(x) will return HXR_UNKNOWN_IMAGE if x is an unknown handle. */ STDMETHOD(ReleaseImage) (THIS_ UINT32 ulImageHandle) PURE; /* * DumpAllQueuedPackets() clears any packets currently waiting to be * sent to the server. These packets were put on the send queue by * either IHXLiveRealPix::SendImage() or IHXLiveRealPix::SendEffect(). */ STDMETHOD(DumpAllQueuedPackets) (THIS) PURE;};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -