102 lines
3.1 KiB
C
102 lines
3.1 KiB
C
|
/*
|
||
|
* File: icomchan.h
|
||
|
*
|
||
|
* Network media channel interface definitions
|
||
|
*
|
||
|
* Revision History:
|
||
|
*
|
||
|
* 10/09/96 mikev created
|
||
|
*/
|
||
|
|
||
|
|
||
|
#ifndef _ICOMCHAN_H
|
||
|
#define _ICOMCHAN_H
|
||
|
|
||
|
#include "incommon.h"
|
||
|
#include "iprop.h"
|
||
|
|
||
|
//
|
||
|
// status code definitions for channel events passed upward
|
||
|
// to IH323ConfAdvise::ChannelEvent();
|
||
|
//
|
||
|
#define CHANNEL_OPEN 0x00000001
|
||
|
#define CHANNEL_ACTIVE 0x00000002 // started streaming
|
||
|
|
||
|
#define CHANNEL_REJECTED 0x00000003
|
||
|
#define CHANNEL_NO_CAPABILITY 0x00000004 // remote end is not capable of supporting
|
||
|
// the media type of this channel
|
||
|
#define CHANNEL_CLOSED 0x00000005
|
||
|
#define CHANNEL_OPEN_ERROR 0x00000007
|
||
|
|
||
|
#define CHANNEL_VIDEO_TS_TRADEOFF 0x00000008
|
||
|
#define CHANNEL_REMOTE_PAUSE_ON 0x00000009
|
||
|
#define CHANNEL_REMOTE_PAUSE_OFF 0x0000000A
|
||
|
|
||
|
//
|
||
|
// ICommChannel
|
||
|
//
|
||
|
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE ICommChannel
|
||
|
DECLARE_INTERFACE(ICommChannel)
|
||
|
{
|
||
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
|
||
|
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
|
||
|
STDMETHOD_(ULONG,Release) (THIS) PURE;
|
||
|
STDMETHOD(GetProperty)(THIS_ DWORD prop, PVOID pBuf, LPUINT pcbBuf) PURE;
|
||
|
STDMETHOD(SetProperty)(THIS_ DWORD prop, PVOID pBuf, UINT cbBuf) PURE;
|
||
|
STDMETHOD(IsChannelOpen)(THIS_ BOOL *pbOpen) PURE;
|
||
|
STDMETHOD(Open)(THIS_ DWORD dwLocalFormatID, IH323Endpoint *pConnection) PURE;
|
||
|
STDMETHOD(Close)(THIS) PURE;
|
||
|
STDMETHOD(SetAdviseInterface)(THIS_ interface IH323ConfAdvise *pH323ConfAdvise) PURE;
|
||
|
STDMETHOD(EnableOpen)(THIS_ BOOL bEnable)PURE;
|
||
|
STDMETHOD(GetMediaType)(THIS_ LPGUID pGuid)PURE;
|
||
|
STDMETHOD_(BOOL, IsSendChannel) (THIS) PURE;
|
||
|
STDMETHOD_(IMediaChannel *, GetMediaChannel) (THIS) PURE;
|
||
|
STDMETHOD(Preview)(THIS_ MEDIA_FORMAT_ID idLocalFormat,
|
||
|
IMediaChannel * pMediaChannel)PURE;
|
||
|
STDMETHOD(PauseNetworkStream)(THIS_ BOOL fPause)PURE;
|
||
|
STDMETHOD_(BOOL, IsNetworkStreamPaused)(THIS) PURE;
|
||
|
STDMETHOD_(BOOL, IsRemotePaused)(THIS) PURE;
|
||
|
STDMETHOD_(MEDIA_FORMAT_ID, GetConfiguredFormatID) (THIS) PURE;
|
||
|
STDMETHOD(GetRemoteAddress)(THIS_ PSOCKADDR_IN pAddrOutput) PURE;
|
||
|
};
|
||
|
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IStreamSignal
|
||
|
DECLARE_INTERFACE(IStreamSignal)
|
||
|
{
|
||
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
|
||
|
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
|
||
|
STDMETHOD_(ULONG,Release) (THIS) PURE;
|
||
|
STDMETHOD(PictureUpdateRequest)(THIS)PURE;
|
||
|
STDMETHOD(GetVersionInfo)(THIS_
|
||
|
PCC_VENDORINFO* ppLocalVendorInfo, PCC_VENDORINFO *ppRemoteVendorInfo) PURE;
|
||
|
};
|
||
|
|
||
|
//
|
||
|
// IVideoDevice
|
||
|
//
|
||
|
|
||
|
#undef INTERFACE
|
||
|
#define INTERFACE IVideoDevice
|
||
|
DECLARE_INTERFACE(IVideoDevice)
|
||
|
{
|
||
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
|
||
|
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
|
||
|
STDMETHOD_(ULONG,Release) (THIS) PURE;
|
||
|
|
||
|
// Capture Device related methods
|
||
|
STDMETHOD(GetNumCapDev)(THIS) PURE;
|
||
|
STDMETHOD(GetMaxCapDevNameLen)(THIS) PURE;
|
||
|
STDMETHOD(EnumCapDev)(THIS_ DWORD *pdwCapDevIDs, TCHAR *pszCapDevNames, DWORD dwNumCapDev) PURE;
|
||
|
STDMETHOD(GetCurrCapDevID)(THIS) PURE;
|
||
|
STDMETHOD(SetCurrCapDevID)(THIS_ int nCapDevID) PURE;
|
||
|
|
||
|
};
|
||
|
|
||
|
|
||
|
#endif //#ifndef _ICOMCHAN_H
|
||
|
|
||
|
|