123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- /**
- * 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 _MSPTRMAR_H_
- #define _MSPTRMAR_H_
- #define WAVEOUT_NAME L"WaveOut Terminal"
- #define MIXER_NAME L"PCM Mixer"
- class CAudioRenderTerminal : public IDispatchImpl<ITBasicAudioTerminal,&IID_ITBasicAudioTerminal,&LIBID_TAPI3Lib>,public IDispatchImpl<ITStaticAudioTerminal,&IID_ITStaticAudioTerminal,&LIBID_TAPI3Lib>,public CSingleFilterStaticTerminal,public CMSPObjectSafetyImpl
- {
- public:
- CAudioRenderTerminal();
- virtual ~CAudioRenderTerminal();
- HRESULT InitializeDefaultTerminal();
- static HRESULT CreateTerminal(CComPtr<IMoniker> pMoniker,MSP_HANDLE htAddress,ITTerminal **ppTerm);
- HRESULT FindTerminalPin();
- BEGIN_COM_MAP(CAudioRenderTerminal)
- 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(CAudioRenderTerminal)
- public:
- STDMETHOD(get_Balance)(__LONG32 *pVal);
- STDMETHOD(put_Balance)(__LONG32 newVal);
- STDMETHOD(get_Volume)(__LONG32 *pVal);
- STDMETHOD(put_Volume)(__LONG32 newVal);
- STDMETHOD(get_WaveId) (__LONG32 *plWaveId);
- public:
- STDMETHODIMP CompleteConnectTerminal(void);
- STDMETHODIMP DisconnectTerminal(IGraphBuilder *pGraph,DWORD dwReserved);
- virtual HRESULT AddFiltersToGraph();
- virtual DWORD GetSupportedMediaTypes(void) { return (DWORD) TAPIMEDIATYPE_AUDIO; }
- HRESULT CreateFilters();
- private:
- bool m_bResourceReserved;
- CComPtr<IBasicAudio> m_pIBasicAudio;
- };
- #endif
|