2 * Audio Renderer (CLSID_AudioRender)
5 * - implements IRefereneceClock.
7 * hidenori@a2.ctktv.ne.jp
10 #ifndef WINE_DSHOW_AUDREN_H
11 #define WINE_DSHOW_AUDREN_H
17 #define WINE_QUARTZ_WAVEOUT_COUNT 4
19 typedef struct CAudioRendererImpl CAudioRendererImpl
;
20 typedef struct CAudioRendererPinImpl CAudioRendererPinImpl
;
23 typedef struct AudRen_IBasicAudioImpl
25 ICOM_VFIELD(IBasicAudio
);
26 } AudRen_IBasicAudioImpl
;
28 struct CAudioRendererImpl
31 CBaseFilterImpl basefilter
;
32 AudRen_IBasicAudioImpl basaud
;
33 QUARTZ_IFDelegation qiext
;
35 CSeekingPassThru
* pSeekPass
;
36 CAudioRendererPinImpl
* pPin
;
42 HANDLE m_hEventRender
;
46 WAVEHDR m_hdr
[WINE_QUARTZ_WAVEOUT_COUNT
];
49 struct CAudioRendererPinImpl
53 CMemInputPinBaseImpl meminput
;
55 CAudioRendererImpl
* pRender
;
58 #define CAudioRendererImpl_THIS(iface,member) CAudioRendererImpl* This = ((CAudioRendererImpl*)(((char*)iface)-offsetof(CAudioRendererImpl,member)))
59 #define CAudioRendererPinImpl_THIS(iface,member) CAudioRendererPinImpl* This = ((CAudioRendererPinImpl*)(((char*)iface)-offsetof(CAudioRendererPinImpl,member)))
62 HRESULT
CAudioRendererImpl_InitIBasicAudio( CAudioRendererImpl
* This
);
63 void CAudioRendererImpl_UninitIBasicAudio( CAudioRendererImpl
* This
);
65 HRESULT
QUARTZ_CreateAudioRenderer(IUnknown
* punkOuter
,void** ppobj
);
66 HRESULT
QUARTZ_CreateAudioRendererPin(
67 CAudioRendererImpl
* pFilter
,
68 CRITICAL_SECTION
* pcsPin
,
69 CAudioRendererPinImpl
** ppPin
);
73 #endif /* WINE_DSHOW_AUDREN_H */