blob: 14446d14fb7ba2f7da06b0dcdd28662e179aacd6 (
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
// AudioPlugIn.h: interface for the CAudioPlugIn class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_AUDIOPLUGIN_H__D9177ACC_DFF4_4C13_8FB9_F949C35BFEF0__INCLUDED_)
#define AFX_AUDIOPLUGIN_H__D9177ACC_DFF4_4C13_8FB9_F949C35BFEF0__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
struct DXiEvent;
struct MfxEvent;
#include "DXi.h"
// TODO: #define PROCESS_IN_PLACE to FALSE if necessary, i.e., for plug-ins
// which convert mono to stereo.
#define PROCESS_IN_PLACE (TRUE)
class CAudioPlugIn :
public CDXi
{
public:
CAudioPlugIn( HRESULT* phr );
virtual ~CAudioPlugIn();
HRESULT Initialize();
HRESULT IsValidInputFormat( const WAVEFORMATEX* pwfx ) const;
HRESULT IsValidOutputFormat( const WAVEFORMATEX* pwfx ) const;
HRESULT IsValidTransform( const WAVEFORMATEX* pwfxIn, const WAVEFORMATEX* pwfxOut ) const;
HRESULT SuggestOutputFormat( WAVEFORMATEX* pwfx ) const;
HRESULT Process( LONGLONG llSampAudioTimestamp,
AudioBuffer* pbufIn,
AudioBuffer* pbufOut );
HRESULT AllocateResources();
HRESULT FreeResources();
int PersistGetSize() const;
HRESULT PersistLoad( IStream* pStream );
HRESULT PersistSave( IStream* pStream );
};
#endif // !defined(AFX_AUDIOPLUGIN_H__D9177ACC_DFF4_4C13_8FB9_F949C35BFEF0__INCLUDED_)
|