// AudioTransformer.h: interface for the AudioTransformer class.
|
//
|
//////////////////////////////////////////////////////////////////////
|
|
#ifndef AFX_AUDIOTRANSFORMER_H__D4076AFA_C2F2_4BE0_85EA_DEC350129E87__INCLUDED_
|
#define AFX_AUDIOTRANSFORMER_H__D4076AFA_C2F2_4BE0_85EA_DEC350129E87__INCLUDED_
|
|
#include <vector>
|
#include <utility>
|
|
#include "AudioSource.h"
|
#include "AudioSink.h"
|
|
class AudioSample;
|
|
class AudioTransformer :
|
public AudioSource,
|
public AudioSink
|
{
|
public:
|
AudioTransformer();
|
virtual ~AudioTransformer();
|
int StartTransform();
|
int StopTransform();
|
virtual int TransformStarted();
|
virtual int TransformStopped();
|
protected:
|
virtual int RenderAudioSamples(std::vector<std::pair<AudioSample *, AudioSource *> > &data); // from AudioSink
|
virtual int GenerateData(AudioSample **ppAudioSample); // from AudioSource
|
virtual int TransformAudioSamples(std::vector<std::pair<AudioSample *, AudioSource *> > &data, AudioSample **ppAudioSample);
|
};
|
|
#endif // !defined(AFX_AUDIOTRANSFORMER_H__D4076AFA_C2F2_4BE0_85EA_DEC350129E87__INCLUDED_)
|