CWAAudioRenderer.h 962 B

123456789101112131415161718192021222324252627282930
  1. #ifndef NULLSOFT_IN_DSHOW_CWAAUDIORENDERER_H
  2. #define NULLSOFT_IN_DSHOW_CWAAUDIORENDERER_H
  3. #include "audioswitch.h"
  4. #include "CSampleCB.h"
  5. EXTERN_C GUID DECLSPEC_SELECTANY CLSID_WAAudioRend =
  6. { 0x2fa4f053, 0x6d60, 0x4cb0, {0x95, 0x3, 0x8e, 0x89, 0x23, 0x4f, 0xcb, 0xca}};
  7. class CWAAudioRenderer : public CAudioSwitchRenderer//, CBaseReferenceClock
  8. {
  9. public:
  10. CWAAudioRenderer();
  11. virtual ~CWAAudioRenderer();
  12. HRESULT DoRenderSample(IMediaSample *pMediaSample) ;
  13. HRESULT CheckMediaType(const CMediaType *pmt);
  14. HRESULT SetMediaType(const CMediaType *pmt);
  15. CMediaType *GetAcceptedType();
  16. HRESULT SetCallback(CSampleCB *Callback);
  17. HRESULT EndOfStream(void);
  18. HRESULT ShouldDrawSampleNow(IMediaSample *pMediaSample, REFERENCE_TIME *pStartTime, REFERENCE_TIME *pEndTime);
  19. HRESULT GetSampleTimes(IMediaSample *pMediaSample, REFERENCE_TIME *pStartTime, REFERENCE_TIME *pEndTime);
  20. private:
  21. CSampleCB *m_callback;
  22. CMediaType m_mt;
  23. };
  24. #endif