summaryrefslogtreecommitdiffstats
path: root/cmds/stagefright/SineSource.h
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2009-09-02 14:01:43 -0700
committerAndreas Huber <andih@google.com>2009-09-02 14:01:43 -0700
commite5adbeee3401915ff8e1a983396ce3554436b11c (patch)
treeb87c6bf50a10502ce2aa5878b9ebb9ffd73edd1f /cmds/stagefright/SineSource.h
parentbc327427531dddd3de2e55c093641207c013f0dd (diff)
downloadframeworks_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.h39
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_