123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393 |
- ///////////////////////////////////////////////////////////////////////////
- // ipmsp.idl : IDL source for IP specific msp interfaces
- /////////////////////////////////////////////////////////////////////////////
- #ifndef __IPMSP_IDL__
- #define __IPMSP_IDL__
- import "tapi3if.idl";
- import "strmif.idl";
- // The maximum length of the info string is 256 bytes inluding EOS.
- const unsigned long MAX_PARTICIPANT_TYPED_INFO_LENGTH = 256;
- const unsigned long MAX_QOS_ID_LEN = 128;
- typedef enum PARTICIPANT_TYPED_INFO
- {
- PTI_CANONICALNAME,
- PTI_NAME,
- PTI_EMAILADDRESS,
- PTI_PHONENUMBER,
- PTI_LOCATION,
- PTI_TOOL,
- PTI_NOTES,
- PTI_PRIVATE
- } PARTICIPANT_TYPED_INFO;
- typedef enum PARTICIPANT_EVENT
- {
- PE_NEW_PARTICIPANT,
- PE_INFO_CHANGE,
- PE_PARTICIPANT_LEAVE,
- PE_NEW_SUBSTREAM,
- PE_SUBSTREAM_REMOVED,
- PE_SUBSTREAM_MAPPED,
- PE_SUBSTREAM_UNMAPPED,
- PE_PARTICIPANT_TIMEOUT,
- PE_PARTICIPANT_RECOVERED,
- PE_PARTICIPANT_ACTIVE,
- PE_PARTICIPANT_INACTIVE,
- PE_LOCAL_TALKING,
- PE_LOCAL_SILENT
- } PARTICIPANT_EVENT;
- [
- uuid(5899b820-5a34-11d2-95a0-00a0244d2298),
- helpstring("ITParticipant Interface"),
- pointer_default(unique),
- dual
- ]
- interface ITParticipant : IDispatch
- {
- [propget, id(1), helpstring("propertry ParticipantTypedInfo")]
- HRESULT ParticipantTypedInfo(
- [in] PARTICIPANT_TYPED_INFO InfoType,
- [out, retval] BSTR * ppInfo
- );
- [propget, id(2), helpstring("the media types of the participant")]
- HRESULT MediaTypes(
- [out, retval] long * plMediaType
- );
- [propput, id(3), helpstring("enable or disable a participant")]
- HRESULT Status(
- [in] ITStream * pITStream,
- [in] VARIANT_BOOL fEnable
- );
- [propget, id(3), helpstring("the status of the participant")]
- HRESULT Status(
- [in] ITStream * pITStream,
- [out, retval] VARIANT_BOOL * pStatus
- );
- [propget, id(4), helpstring("an ITCollection of streams that have the participant")]
- HRESULT Streams(
- [out, retval] VARIANT * pVariant
- );
- [id(6), hidden]
- HRESULT EnumerateStreams(
- [out, retval] IEnumStream ** ppEnumStream
- );
- }
- cpp_quote("#ifndef STREAM_INTERFACES_DEFINED")
- cpp_quote("#define STREAM_INTERFACES_DEFINED")
- const DWORD MAX_DESCRIPTION_LEN = 256;
- typedef struct _TAPI_AUDIO_STREAM_CONFIG_CAPS
- {
- WCHAR Description[MAX_DESCRIPTION_LEN];
- ULONG MinimumChannels;
- ULONG MaximumChannels;
- ULONG ChannelsGranularity;
- ULONG MinimumBitsPerSample;
- ULONG MaximumBitsPerSample;
- ULONG BitsPerSampleGranularity;
- ULONG MinimumSampleFrequency;
- ULONG MaximumSampleFrequency;
- ULONG SampleFrequencyGranularity;
- ULONG MinimumAvgBytesPerSec;
- ULONG MaximumAvgBytesPerSec;
- ULONG AvgBytesPerSecGranularity;
- } TAPI_AUDIO_STREAM_CONFIG_CAPS, *PTAPI_AUDIO_STREAM_CONFIG_CAPS;
- typedef struct _TAPI_VIDEO_STREAM_CONFIG_CAPS
- {
- WCHAR Description[MAX_DESCRIPTION_LEN];
- ULONG VideoStandard;
- SIZE InputSize;
- SIZE MinCroppingSize;
- SIZE MaxCroppingSize;
- int CropGranularityX;
- int CropGranularityY;
- int CropAlignX;
- int CropAlignY;
- SIZE MinOutputSize;
- SIZE MaxOutputSize;
- int OutputGranularityX;
- int OutputGranularityY;
- int StretchTapsX;
- int StretchTapsY;
- int ShrinkTapsX;
- int ShrinkTapsY;
- LONGLONG MinFrameInterval;
- LONGLONG MaxFrameInterval;
- LONG MinBitsPerSecond;
- LONG MaxBitsPerSecond;
- } TAPI_VIDEO_STREAM_CONFIG_CAPS, *PTAPI_VIDEO_STREAM_CONFIG_CAPS;
- typedef enum tagStreamConfigCapsType
- {
- AudioStreamConfigCaps,
- VideoStreamConfigCaps
- } StreamConfigCapsType;
- typedef struct tagTAPI_STREAM_CONFIG_CAPS
- {
- StreamConfigCapsType CapsType;
- union
- {
- TAPI_VIDEO_STREAM_CONFIG_CAPS VideoCap;
- TAPI_AUDIO_STREAM_CONFIG_CAPS AudioCap;
- };
- } TAPI_STREAM_CONFIG_CAPS, *PTAPI_STREAM_CONFIG_CAPS;
- typedef enum tagTAPIControlFlags
- {
- TAPIControl_Flags_None = 0x0000,
- TAPIControl_Flags_Auto = 0x0001,
- TAPIControl_Flags_Manual = 0x0002
- } TAPIControlFlags;
- [
- object,
- local,
- uuid(6c0ab6c1-21e3-11d3-a577-00c04f8ef6e3),
- pointer_default(unique),
- hidden
- ]
- interface ITFormatControl : IUnknown
- {
- HRESULT GetCurrentFormat(
- [out] AM_MEDIA_TYPE **ppMediaType
- );
- HRESULT ReleaseFormat (
- [in] AM_MEDIA_TYPE *pMediaType
- );
- HRESULT GetNumberOfCapabilities(
- [out] DWORD *pdwCount
- );
- HRESULT GetStreamCaps(
- [in] DWORD dwIndex,
- [out] AM_MEDIA_TYPE **ppMediaType,
- [out] TAPI_STREAM_CONFIG_CAPS *pStreamConfigCaps,
- [out] BOOL *pfEnabled
- );
- HRESULT ReOrderCapabilities(
- [in] DWORD *pdwIndices,
- [in] BOOL *pfEnabled,
- [in] BOOL *pfPublicize,
- [in] DWORD dwNumIndices
- );
- }
- typedef enum tagStreamQualityProperty
- {
- StreamQuality_MaxBitrate,
- StreamQuality_CurrBitrate, // Read-Only
- StreamQuality_MinFrameInterval,
- StreamQuality_AvgFrameInterval, // Read-Only
- } StreamQualityProperty;
- [
- object,
- local,
- uuid(6c0ab6c2-21e3-11d3-a577-00c04f8ef6e3),
- pointer_default(unique),
- hidden
- ]
- interface ITStreamQualityControl : IUnknown
- {
- HRESULT GetRange(
- [in] StreamQualityProperty Property,
- [out] long *plMin,
- [out] long *plMax,
- [out] long *plSteppingDelta,
- [out] long *plDefault,
- [out] TAPIControlFlags *plFlags
- );
- HRESULT Get(
- [in] StreamQualityProperty Property,
- [out] long *plValue,
- [out] TAPIControlFlags *plFlags
- );
- HRESULT Set(
- [in] StreamQualityProperty Property,
- [in] long lValue,
- [in] TAPIControlFlags lFlags
- );
- }
- typedef enum tagCallQualityProperty
- {
- CallQuality_ControlInterval,
- CallQuality_ConfBitrate, // confmsp and read-only
- CallQuality_MaxInputBitrate, // read only
- CallQuality_CurrInputBitrate, // Read-Only
- CallQuality_MaxOutputBitrate,
- CallQuality_CurrOutputBitrate, // Read-Only
- CallQuality_MaxCPULoad,
- CallQuality_CurrCPULoad // Read-Only
- } CallQualityProperty;
- [
- object,
- local,
- uuid(fe1d8ae0-edc4-49b5-8f8c-4de40f9cdfaf),
- pointer_default(unique),
- hidden
- ]
- interface ITCallQualityControl : IUnknown
- {
- HRESULT GetRange(
- [in] CallQualityProperty Property,
- [out] long *plMin,
- [out] long *plMax,
- [out] long *plSteppingDelta,
- [out] long *plDefault,
- [out] TAPIControlFlags *plFlags
- );
- HRESULT Get(
- [in] CallQualityProperty Property,
- [out] long *plValue,
- [out] TAPIControlFlags *plFlags
- );
- HRESULT Set(
- [in] CallQualityProperty Property,
- [in] long lValue,
- [in] TAPIControlFlags lFlags
- );
- }
- typedef enum tagAudioDeviceProperty
- {
- AudioDevice_DuplexMode,
- AudioDevice_AutomaticGainControl,
- AudioDevice_AcousticEchoCancellation
- } AudioDeviceProperty;
- [
- object,
- local,
- uuid(6c0ab6c5-21e3-11d3-a577-00c04f8ef6e3),
- pointer_default(unique),
- hidden
- ]
- interface ITAudioDeviceControl : IUnknown
- {
- HRESULT GetRange(
- [in] AudioDeviceProperty Property,
- [out] long *plMin,
- [out] long *plMax,
- [out] long *plSteppingDelta,
- [out] long *plDefault,
- [out] TAPIControlFlags *plFlags
- );
- HRESULT Get(
- [in] AudioDeviceProperty Property,
- [out] long *plValue,
- [out] TAPIControlFlags *plFlags
- );
- HRESULT Set(
- [in] AudioDeviceProperty Property,
- [in] long lValue,
- [in] TAPIControlFlags lFlags
- );
- }
- typedef enum tagAudioSettingsProperty
- {
- AudioSettings_SignalLevel, // Read-Only
- AudioSettings_SilenceThreshold,
- AudioSettings_Volume,
- AudioSettings_Balance,
- AudioSettings_Loudness,
- AudioSettings_Treble,
- AudioSettings_Bass,
- AudioSettings_Mono
- } AudioSettingsProperty;
- [
- object,
- local,
- uuid(6c0ab6c6-21e3-11d3-a577-00c04f8ef6e3),
- pointer_default(unique),
- hidden
- ]
- interface ITAudioSettings : IUnknown
- {
- HRESULT GetRange(
- [in] AudioSettingsProperty Property,
- [out] long *plMin,
- [out] long *plMax,
- [out] long *plSteppingDelta,
- [out] long *plDefault,
- [out] TAPIControlFlags *plFlags
- );
- HRESULT Get(
- [in] AudioSettingsProperty Property,
- [out] long *plValue,
- [out] TAPIControlFlags *plFlags
- );
- HRESULT Set(
- [in] AudioSettingsProperty Property,
- [in] long lValue,
- [in] TAPIControlFlags lFlags
- );
- }
- [
- uuid(e8c89d27-a3bd-47d5-a6fc-d2ae40cdbc6e),
- helpstring("ITQOSApplicationID interface"),
- pointer_default(unique),
- dual
- ]
- interface ITQOSApplicationID : IDispatch
- {
- HRESULT SetQOSApplicationID(
- [in] BSTR pApplicationID,
- [in] BSTR pApplicationGUID,
- [in] BSTR pSubIDs
- );
- }
- cpp_quote("#endif // STREAM_INTERFACES_DEFINED")
- cpp_quote("#ifndef RTP_MEDIATYPE_DEFINED")
- cpp_quote("#define RTP_MEDIATYPE_DEFINED")
- cpp_quote("struct DECLSPEC_UUID(\"14099BC0-787B-11d0-9CD3-00A0C9081C19\") MEDIATYPE_RTP_Single_Stream;")
- cpp_quote("#endif //RTP_MEDIATYPE_DEFINED")
- #endif // __H323_PRIVATE_IDL__
|