1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- /**
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER.PD within this package.
- */
- #ifndef _MSPTRMAC_H_
- #define _MSPTRMAC_H_
- #define WAVEIN_NAME L"WaveIn Terminal"
- #ifdef __cplusplus
- class CAudioCaptureTerminal : public IDispatchImpl<ITBasicAudioTerminal,&IID_ITBasicAudioTerminal,&LIBID_TAPI3Lib>,public IDispatchImpl<ITStaticAudioTerminal,&IID_ITStaticAudioTerminal,&LIBID_TAPI3Lib>,public CSingleFilterStaticTerminal,public CMSPObjectSafetyImpl
- {
- BEGIN_COM_MAP(CAudioCaptureTerminal)
- COM_INTERFACE_ENTRY(IObjectSafety)
- COM_INTERFACE_ENTRY(ITBasicAudioTerminal)
- COM_INTERFACE_ENTRY(ITStaticAudioTerminal)
- COM_INTERFACE_ENTRY_CHAIN(CSingleFilterStaticTerminal)
- END_COM_MAP()
- DECLARE_VQI()
- DECLARE_LOG_ADDREF_RELEASE(CAudioCaptureTerminal)
- public:
- CAudioCaptureTerminal();
- virtual ~CAudioCaptureTerminal();
- static HRESULT CreateTerminal(CComPtr<IMoniker> pMoniker,MSP_HANDLE htAddress,ITTerminal **ppTerm);
- HRESULT FindTerminalPin();
- public:
- STDMETHOD(get_Balance)(__LONG32 *pVal);
- STDMETHOD(put_Balance)(__LONG32 newVal);
- STDMETHOD(get_Volume) (__LONG32 *pVal);
- STDMETHOD(put_Volume) (__LONG32 newVal);
- public:
- STDMETHOD(get_WaveId) (__LONG32 *plWaveId);
- STDMETHODIMP CompleteConnectTerminal(void);
- STDMETHODIMP DisconnectTerminal(IGraphBuilder *pGraph,DWORD dwReserved);
- virtual HRESULT AddFiltersToGraph();
- virtual DWORD GetSupportedMediaTypes(void) { return (DWORD) TAPIMEDIATYPE_AUDIO; }
- HRESULT CreateFilters();
- inline HRESULT CreateFiltersIfRequired();
- private:
- bool m_bResourceReserved;
- CComPtr<IAMAudioInputMixer> m_pIAMAudioInputMixer;
- };
- inline HRESULT CAudioCaptureTerminal::CreateFiltersIfRequired() {
- if(!m_pIFilter) return CreateFilters();
- return S_OK;
- }
- #endif /* __cplusplus */
- #endif
|