// // This software is supplied under the terms of a licence agreement or // nondisclosure agreement with Intel Corporation and may not be copied // or disclosed except in accordance with the terms of that agreement. // Copyright © 1997 Microsoft Corporation. All Rights Reserved. // // Filename : Silence.idl // Purpose : Defines the interfaces exposed by the PCM Silence // suppression filter. // Contents : ISilenceSuppressor interface specification. // // Begin ISilenceSuppressor Specification import "oaidl.idl"; [ object, uuid(40C1D160-52F2-11d0-A874-00AA00B5CA1B), local, helpstring("ISilenceSuppressor Interface"), pointer_default(unique) ] interface ISilenceSuppressor : IUnknown { HRESULT GetPostplayTime( [out] LPDWORD lpdwPostplayBufferTime ); HRESULT SetPostplayTime( [in] DWORD dwPostplayBufferTime ); HRESULT GetKeepPlayTime( [out] LPDWORD lpdwRunningAverageTime ); HRESULT SetKeepPlayTime( [in] DWORD dwRunningAverageTime ); HRESULT GetThresholdIncrementor( [out] LPDWORD lpdwThresholdIncrementor ); HRESULT SetThresholdIncrementor( [in] DWORD dwThresholdIncrementor ); HRESULT GetBaseThreshold( [out] LPDWORD lpdwBaseThreshold ); HRESULT SetBaseThreshold( [in] DWORD dwBaseThreshold ); HRESULT EnableEvents( [in] DWORD dwMask, [in] DWORD dwMinimumInterval ); } cpp_quote("EXTERN_C const CLSID CLSID_SilenceSuppressionFilter;") cpp_quote("EXTERN_C const CLSID CLSID_SilenceSuppressionProperties;") cpp_quote("#define AGC_EVENTBASE (100000)") typedef enum AGC_EVENT { AGC_INCREASE_GAIN, AGC_DECREASE_GAIN, AGC_TALKING, AGC_SILENCE } AGC_EVENT;