diff options
author | Andreas Huber <andih@google.com> | 2009-09-02 14:01:43 -0700 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2009-09-02 14:01:43 -0700 |
commit | e5adbeee3401915ff8e1a983396ce3554436b11c (patch) | |
tree | b87c6bf50a10502ce2aa5878b9ebb9ffd73edd1f /cmds/stagefright/SineSource.h | |
parent | bc327427531dddd3de2e55c093641207c013f0dd (diff) | |
download | frameworks_av-e5adbeee3401915ff8e1a983396ce3554436b11c.zip frameworks_av-e5adbeee3401915ff8e1a983396ce3554436b11c.tar.gz frameworks_av-e5adbeee3401915ff8e1a983396ce3554436b11c.tar.bz2 |
Some work to make audio encoding work.
Diffstat (limited to 'cmds/stagefright/SineSource.h')
-rw-r--r-- | cmds/stagefright/SineSource.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/cmds/stagefright/SineSource.h b/cmds/stagefright/SineSource.h new file mode 100644 index 0000000..76ab669 --- /dev/null +++ b/cmds/stagefright/SineSource.h @@ -0,0 +1,39 @@ +#ifndef SINE_SOURCE_H_ + +#define SINE_SOURCE_H_ + +#include <media/stagefright/MediaSource.h> + +namespace android { + +struct MediaBufferGroup; + +struct SineSource : public MediaSource { + SineSource(int32_t sampleRate, int32_t numChannels); + + virtual status_t start(MetaData *params); + virtual status_t stop(); + + virtual sp<MetaData> getFormat(); + + virtual status_t read( + MediaBuffer **out, const ReadOptions *options = NULL); + +protected: + virtual ~SineSource(); + +private: + enum { kBufferSize = 8192 }; + static const double kFrequency = 500.0; + + bool mStarted; + int32_t mSampleRate; + int32_t mNumChannels; + size_t mPhase; + + MediaBufferGroup *mGroup; +}; + +} // namespace android + +#endif // SINE_SOURCE_H_ |