📄 hxrtsp2.h
字号:
STDMETHOD_(UINT32,GetSize) (THIS) PURE; STDMETHOD_(UINT32,Write) (THIS_ BYTE* pbuf) PURE; STDMETHOD(GetKey) (THIS_ REF(IHXBuffer*)pbufKey) PURE; STDMETHOD(SetKey) (THIS_ IHXBuffer* pbufKey) PURE; STDMETHOD(GetFirstField) (THIS_ REF(IHXMIMEField*) pField) PURE; STDMETHOD(GetFieldList) (THIS_ REF(IHXList*) plistFields) PURE; STDMETHOD(GetFieldListConst) (THIS_ REF(IHXList*) plistFields) PURE; STDMETHOD(GetValueAsInt) (THIS_ REF(INT32) val) PURE; STDMETHOD(SetValueFromInt) (THIS_ INT32 val) PURE; STDMETHOD(GetValueAsUint) (THIS_ REF(UINT32) val) PURE; STDMETHOD(SetValueFromUint) (THIS_ UINT32 val) PURE; STDMETHOD(GetValueAsBuffer) (THIS_ REF(IHXBuffer*)pbufVal) PURE; STDMETHOD(SetValueFromBuffer) (THIS_ IHXBuffer* pbufVal) PURE; //XXXTDM: added these for convenience when writing client code. // we should come up with a clean, standardized interface. STDMETHOD(SetFromString) (THIS_ const char* szKey, const char* szVal) PURE; STDMETHOD(SetFromBuffer) (THIS_ const char* szKey, IHXBuffer* pbufVal) PURE;};// IHXRTSPMessage: 1bff98ab-e5c9-459d-80ee-b80d20e4f30eDEFINE_GUID(IID_IHXRTSPMessage, 0x1bff98ab, 0xe5c9, 0x459d, 0x80, 0xee, 0xb8, 0x0d, 0x20, 0xe4, 0xf3, 0x0e);#undef INTERFACE#define INTERFACE IHXRTSPMessageDECLARE_INTERFACE_(IHXRTSPMessage, IUnknown){ // IUnknown STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE; STDMETHOD_(ULONG32,AddRef) (THIS) PURE; STDMETHOD_(ULONG32,Release) (THIS) PURE; // IHXRTSPMessage STDMETHOD_(UINT16,GetVersion) (THIS) PURE; STDMETHOD(SetVersion) (THIS_ UINT16 ver) PURE; STDMETHOD_(int,GetMajorVersion) (THIS) PURE; STDMETHOD(SetMajorVersion) (THIS_ int uMajorVer) PURE; STDMETHOD_(int,GetMinorVersion) (THIS) PURE; STDMETHOD(SetMinorVersion) (THIS_ int uMinorVer) PURE; STDMETHOD_(UINT32,GetCSeq) (THIS) PURE; STDMETHOD(SetCSeq) (THIS_ UINT32 cseq) PURE; STDMETHOD(GetContent) (THIS_ REF(IHXBuffer*) pbufContent) PURE; STDMETHOD(SetContent) (THIS_ IHXBuffer* pbuf) PURE; STDMETHOD(GetHeader) (THIS_ const char* key, REF(IHXMIMEHeader*)pHeader) PURE; STDMETHOD(AddHeader) (THIS_ IHXMIMEHeader* pHeader) PURE; STDMETHOD(SetHeader) (THIS_ IHXMIMEHeader* pHeader) PURE; STDMETHOD(RemoveHeader) (THIS_ const char* key) PURE; STDMETHOD(GetHeaderList) (THIS_ REF(IHXList*) plistHeaders) PURE; STDMETHOD(GetHeaderListConst) (THIS_ REF(IHXList*) plistHeaders) PURE; STDMETHOD_(void,ReplaceDelimiters)(THIS_ BOOL bReplaceDelimiters, int nReplacementDelimiter) PURE;};// IHXRTSPRequestMessage: ddb0e73f-0d5a-4fd1-bdc8-957f0d872a33DEFINE_GUID(IID_IHXRTSPRequestMessage, 0xddb0e73f, 0x0d5a, 0x4fd1, 0xbd, 0xc8, 0x95, 0x7f, 0x0d, 0x87, 0x2a, 0x33);#undef INTERFACE#define INTERFACE IHXRTSPRequestMessageDECLARE_INTERFACE_(IHXRTSPRequestMessage, IUnknown){ // IUnknown STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE; STDMETHOD_(ULONG32,AddRef) (THIS) PURE; STDMETHOD_(ULONG32,Release) (THIS) PURE; // IHXRTSPRequestMessage STDMETHOD_(UINT32,GetSize) (THIS) PURE; STDMETHOD_(UINT32,Write) (THIS_ BYTE* pBuf) PURE; STDMETHOD_(RTSPMethod,GetMethod)(THIS) PURE; STDMETHOD_(UINT32,GetVerb) (THIS) PURE; STDMETHOD(SetVerb) (THIS_ UINT32 verb) PURE; STDMETHOD(GetVerbEx) (THIS_ REF(IHXBuffer*) pBufVerb) PURE; STDMETHOD(SetVerbEx) (THIS_ IHXBuffer* pBufVerb) PURE; STDMETHOD(GetUrl) (THIS_ REF(IHXBuffer*) pBufUrl) PURE; STDMETHOD(SetUrl) (THIS_ IHXBuffer* pBufUrl) PURE;};// IHXRTSPResponseMessage: 876baec2-ec9e-41dc-8cb6-e874b60fbad6DEFINE_GUID(IID_IHXRTSPResponseMessage, 0x876baec2, 0xec9e, 0x41dc, 0x8c, 0xb6, 0xe8, 0x74, 0xb6, 0x0f, 0xba, 0xd6);#undef INTERFACE#define INTERFACE IHXRTSPResponseMessageDECLARE_INTERFACE_(IHXRTSPResponseMessage, IUnknown){ // IUnknown STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE; STDMETHOD_(ULONG32,AddRef) (THIS) PURE; STDMETHOD_(ULONG32,Release) (THIS) PURE; // IHXRTSPResponseMessage STDMETHOD_(UINT32,GetSize) (THIS) PURE; STDMETHOD_(UINT32,Write) (THIS_ BYTE* pbuf) PURE; STDMETHOD(GetStatusCode) (THIS_ REF(UINT32) status) PURE; STDMETHOD(SetStatusCode) (THIS_ UINT32 status) PURE;};// IHXRTSPInterleavedPacket: 4d737eff-8218-4762-ace3-fcf27c08f916DEFINE_GUID(IID_IHXRTSPInterleavedPacket, 0x4d737eff, 0x8218, 0x4762, 0xac, 0xe3, 0xfc, 0xf2, 0x7c, 0x08, 0xf9, 0x16);#undef INTERFACE#define INTERFACE IHXRTSPInterleavedPacketDECLARE_INTERFACE_(IHXRTSPInterleavedPacket, IUnknown){ // IUnknown STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE; STDMETHOD_(ULONG32,AddRef) (THIS) PURE; STDMETHOD_(ULONG32,Release) (THIS) PURE; // IHXRTSPInterleavedPacket STDMETHOD(Get) (THIS_ REF(BYTE) byChan, REF(IHXBuffer*) pbufData) PURE; STDMETHOD(Set) (THIS_ BYTE byChan, IHXBuffer* pbufData) PURE;};/* * The consumer is an abstract object that the protocol pumps data into. * It can be interleaved data, a request message, or a response message. * The return value from ReadDone() is one of: * - RTSP_RES_AGAIN : Data was processed, object is not complete. * - RTSP_RES_DONE : Data was processed, object is complete. * - RTSP_RES_PARTIAL: Not enough data is available to process. * - RTSP_RES_INVALID: Data was processed, not a valid rtsp message. * * As the consumer receives data, it creates static buffers that AddRef() * the protocol's buffer and refer to chunks within it. When the consumer * is destroyed, it Release()'s the static buffers which in turn Release() * the protocol buffer. (see CHXStaticBuffer) */// IHXRTSPConsumer: da62eb99-2120-410a-9866-90f7ec9cc15dDEFINE_GUID(IID_IHXRTSPConsumer, 0xda62eb99, 0x2120, 0x410a, 0x98, 0x66, 0x90, 0xf7, 0xec, 0x9c, 0xc1, 0x5d);#undef INTERFACE#define INTERFACE IHXRTSPConsumerDECLARE_INTERFACE_(IHXRTSPConsumer, IUnknown){ // IUnknown STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE; STDMETHOD_(ULONG32,AddRef) (THIS) PURE; STDMETHOD_(ULONG32,Release) (THIS) PURE; // IHXRTSPConsumer STDMETHOD(ReadDone) (THIS_ IHXBuffer* pbufPacket, UINT32* ppos) PURE; STDMETHOD_(UINT32,GetSize) (THIS) PURE; STDMETHOD_(UINT32,Write) (THIS_ BYTE* pbuf) PURE; STDMETHOD_(UINT32,AsBuffer) (THIS_ REF(IHXBuffer*) pbuf) PURE;};// IHXRTSPProtocolResponse: bf646cd4-922c-4b9c-ac92-96e774de5639DEFINE_GUID(IID_IHXRTSPProtocolResponse, 0xbf646cd4, 0x922c, 0x4b9c, 0xac, 0x92, 0x96, 0xe7, 0x74, 0xde, 0x56, 0x39);#undef INTERFACE#define INTERFACE IHXRTSPProtocolResponseDECLARE_INTERFACE_(IHXRTSPProtocolResponse, IUnknown){ // IUnknown STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE; STDMETHOD_(ULONG32,AddRef) (THIS) PURE; STDMETHOD_(ULONG32,Release) (THIS) PURE; // IHXRTSPProtocolResponse STDMETHOD(OnClosed) (THIS_ HX_RESULT status) PURE; STDMETHOD(OnError) (THIS_ HX_RESULT status) PURE; STDMETHOD(OnConnectDone) (THIS_ HX_RESULT status) PURE; STDMETHOD(OnPacket) (THIS_ IHXRTSPInterleavedPacket* pPkt) PURE; STDMETHOD(OnOptionsRequest) (THIS_ IHXRTSPRequestMessage* pMsg) PURE; STDMETHOD(OnDescribeRequest) (THIS_ IHXRTSPRequestMessage* pMsg) PURE; STDMETHOD(OnSetupRequest) (THIS_ IHXRTSPRequestMessage* pMsg) PURE; STDMETHOD(OnPlayRequest) (THIS_ IHXRTSPRequestMessage* pMsg) PURE; STDMETHOD(OnPauseRequest) (THIS_ IHXRTSPRequestMessage* pMsg) PURE; STDMETHOD(OnAnnounceRequest) (THIS_ IHXRTSPRequestMessage* pMsg) PURE; STDMETHOD(OnRecordRequest) (THIS_ IHXRTSPRequestMessage* pMsg) PURE; STDMETHOD(OnTeardownRequest) (THIS_ IHXRTSPRequestMessage* pMsg) PURE; STDMETHOD(OnGetParamRequest) (THIS_ IHXRTSPRequestMessage* pMsg) PURE; STDMETHOD(OnSetParamRequest) (THIS_ IHXRTSPRequestMessage* pMsg) PURE; STDMETHOD(OnRedirectRequest) (THIS_ IHXRTSPRequestMessage* pMsg) PURE; STDMETHOD(OnExtensionRequest) (THIS_ IHXRTSPRequestMessage* pMsg) PURE; STDMETHOD(OnOptionsResponse) (THIS_ IHXRTSPResponseMessage* pMsg) PURE; STDMETHOD(OnDescribeResponse) (THIS_ IHXRTSPResponseMessage* pMsg) PURE; STDMETHOD(OnSetupResponse) (THIS_ IHXRTSPResponseMessage* pMsg) PURE; STDMETHOD(OnPlayResponse) (THIS_ IHXRTSPResponseMessage* pMsg) PURE; STDMETHOD(OnPauseResponse) (THIS_ IHXRTSPResponseMessage* pMsg) PURE; STDMETHOD(OnAnnounceResponse) (THIS_ IHXRTSPResponseMessage* pMsg) PURE; STDMETHOD(OnRecordResponse) (THIS_ IHXRTSPResponseMessage* pMsg) PURE; STDMETHOD(OnTeardownResponse) (THIS_ IHXRTSPResponseMessage* pMsg) PURE; STDMETHOD(OnGetParamResponse) (THIS_ IHXRTSPResponseMessage* pMsg) PURE; STDMETHOD(OnSetParamResponse) (THIS_ IHXRTSPResponseMessage* pMsg) PURE; STDMETHOD(OnRedirectResponse) (THIS_ IHXRTSPResponseMessage* pMsg) PURE; STDMETHOD(OnExtensionResponse) (THIS_ IHXRTSPResponseMessage* pMsg) PURE;};// IHXRTSPProtocol: 29d8eebf-5597-410b-a290-8181be1e2430DEFINE_GUID(IID_IHXRTSPProtocol, 0x29d8eebf, 0x5597, 0x410b, 0xa2, 0x90, 0x81, 0x81, 0xbe, 0x1e, 0x24, 0x30);#undef INTERFACE#define INTERFACE IHXRTSPProtocolDECLARE_INTERFACE_(IHXRTSPProtocol, IUnknown){ // IUnknown STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE; STDMETHOD_(ULONG32,AddRef) (THIS) PURE; STDMETHOD_(ULONG32,Release) (THIS) PURE; // IHXRTSPProtocol STDMETHOD(Init) (THIS_ IHXRTSPProtocolResponse* presp, IUnknown* punkContext) PURE; //XXXTDM: The following two methods are for using an RTSPTransport object. // Note that RTSPTransport is not a public class!!! STDMETHOD(GetSocket) (THIS_ REF(IHXTCPSocket*) pSock) PURE; STDMETHOD(SetTransport) (THIS_ BYTE byChan, RTSPTransport* pTran) PURE; STDMETHOD(Connect) (THIS_ const char* szHost, UINT16 port) PURE; STDMETHOD(Accept) (THIS_ IHXTCPSocket* psock) PURE; STDMETHOD(Close) (THIS) PURE; STDMETHOD(SendRequest) (THIS_ IHXRTSPRequestMessage* pReq) PURE; STDMETHOD(SendResponse) (THIS_ IHXRTSPResponseMessage* pRsp) PURE; STDMETHOD(SendPacket) (THIS_ IHXRTSPInterleavedPacket* pPkt) PURE;};#undef INTERFACE#define INTERFACE IHXRTSPAggregateEventStatsDECLARE_INTERFACE_(IHXRTSPAggregateEventStats, IUnknown){ /* * IUknown methods */ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE; STDMETHOD_(ULONG32,AddRef) (THIS) PURE; STDMETHOD_(ULONG32,Release) (THIS) PURE; /* * IHXRTSPAggregateEventStats methods */ STDMETHOD(Init) (THIS_ IUnknown* pContext) PURE; STDMETHOD_(BOOL,IsInitDone) (THIS) PURE; STDMETHOD(UpdateClientRequestCount) (THIS_ INT32 lCount, RTSPMethod ulMethodId) PURE; STDMETHOD(UpdateServerRequestCount) (THIS_ INT32 lCount, RTSPMethod ulMethodId) PURE; STDMETHOD(UpdateClientResponseCount) (THIS_ INT32 lCount, RTSPMethod ulMethodId, UINT32 ulStatusCode) PURE; STDMETHOD(UpdateServerResponseCount) (THIS_ INT32 lCount, RTSPMethod ulMethodId, UINT32 ulStatusCode) PURE; STDMETHOD(GetLicense) (THIS_ REF(BOOL) bIsLicensed) PURE; STDMETHOD(GetStatsEventMask) (THIS_ REF(UINT32) ulEventMask) PURE;}; #endif /* _HXRTSP2_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -