aboutsummaryrefslogtreecommitdiff
path: root/Src/Plugins/Input/in_dshow/CWAAudioRenderer.h
blob: 5bfb9f7225ecce91a70487da57953c21d3393cf4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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