blob: 76ab669fbfc66ff39a78482b1fe0b1b01b51548d [file] [log] [blame]
Andreas Huberda050cf22009-09-02 14:01:43 -07001#ifndef SINE_SOURCE_H_
2
3#define SINE_SOURCE_H_
4
5#include <media/stagefright/MediaSource.h>
6
7namespace android {
8
9struct MediaBufferGroup;
10
11struct SineSource : public MediaSource {
12 SineSource(int32_t sampleRate, int32_t numChannels);
13
14 virtual status_t start(MetaData *params);
15 virtual status_t stop();
16
17 virtual sp<MetaData> getFormat();
18
19 virtual status_t read(
20 MediaBuffer **out, const ReadOptions *options = NULL);
21
22protected:
23 virtual ~SineSource();
24
25private:
26 enum { kBufferSize = 8192 };
27 static const double kFrequency = 500.0;
28
29 bool mStarted;
30 int32_t mSampleRate;
31 int32_t mNumChannels;
32 size_t mPhase;
33
34 MediaBufferGroup *mGroup;
35};
36
37} // namespace android
38
39#endif // SINE_SOURCE_H_