From 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d Mon Sep 17 00:00:00 2001 From: Jef Date: Tue, 24 Sep 2024 14:54:57 +0200 Subject: Initial community commit --- Src/Plugins/Input/in_dshow/CWAAudioRenderer.h | 30 +++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 Src/Plugins/Input/in_dshow/CWAAudioRenderer.h (limited to 'Src/Plugins/Input/in_dshow/CWAAudioRenderer.h') diff --git a/Src/Plugins/Input/in_dshow/CWAAudioRenderer.h b/Src/Plugins/Input/in_dshow/CWAAudioRenderer.h new file mode 100644 index 00000000..5bfb9f72 --- /dev/null +++ b/Src/Plugins/Input/in_dshow/CWAAudioRenderer.h @@ -0,0 +1,30 @@ +#ifndef NULLSOFT_IN_DSHOW_CWAAUDIORENDERER_H +#define NULLSOFT_IN_DSHOW_CWAAUDIORENDERER_H + +#include "audioswitch.h" +#include "CSampleCB.h" + +EXTERN_C GUID DECLSPEC_SELECTANY CLSID_WAAudioRend = +{ 0x2fa4f053, 0x6d60, 0x4cb0, {0x95, 0x3, 0x8e, 0x89, 0x23, 0x4f, 0xcb, 0xca}}; + + + +class CWAAudioRenderer : public CAudioSwitchRenderer//, CBaseReferenceClock +{ +public: + CWAAudioRenderer(); + virtual ~CWAAudioRenderer(); + HRESULT DoRenderSample(IMediaSample *pMediaSample) ; + HRESULT CheckMediaType(const CMediaType *pmt); + HRESULT SetMediaType(const CMediaType *pmt); + CMediaType *GetAcceptedType(); + HRESULT SetCallback(CSampleCB *Callback); + HRESULT EndOfStream(void); + HRESULT ShouldDrawSampleNow(IMediaSample *pMediaSample, REFERENCE_TIME *pStartTime, REFERENCE_TIME *pEndTime); + HRESULT GetSampleTimes(IMediaSample *pMediaSample, REFERENCE_TIME *pStartTime, REFERENCE_TIME *pEndTime); + +private: + CSampleCB *m_callback; + CMediaType m_mt; +}; +#endif \ No newline at end of file -- cgit