Home | History | Annotate | Download | only in stagefright
      1 #ifndef SINE_SOURCE_H_
      2 
      3 #define SINE_SOURCE_H_
      4 
      5 #include <media/stagefright/MediaSource.h>
      6 
      7 namespace android {
      8 
      9 struct MediaBufferGroup;
     10 
     11 struct 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 
     22 protected:
     23     virtual ~SineSource();
     24 
     25 private:
     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_
     40