Gnash  0.8.10
AudioInputHaiku.h
Go to the documentation of this file.
00001 // AudioInputHaiku.h: Audio input with Haiku media kit
00002 // 
00003 //   Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012
00004 //   Free Software Foundation, Inc.
00005 // 
00006 // This program is free software; you can redistribute it and/or modify
00007 // it under the terms of the GNU General Public License as published by
00008 // the Free Software Foundation; either version 3 of the License, or
00009 // (at your option) any later version.
00010 // 
00011 // This program is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014 // GNU General Public License for more details.
00015 //
00016 // You should have received a copy of the GNU General Public License
00017 // along with this program; if not, write to the Free Software
00018 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00019 
00020 #ifndef GNASH_AUDIOINPUT_HAIKU_H
00021 #define GNASH_AUDIOINPUT_HAIKU_H
00022 
00023 #include "dsodefs.h" //DSOEXPORT
00024 #include "AudioInput.h"
00025 
00026 #include <boost/cstdint.hpp> // for C99 int types
00027 #include <string>
00028 
00029 namespace gnash {
00030 namespace media {
00031 namespace haiku {
00032 
00034 class AudioInputHaiku : public AudioInput
00035 {
00036     
00037 public:
00038 
00039     DSOEXPORT AudioInputHaiku();
00040 
00041     virtual ~AudioInputHaiku() {}
00042     
00043     //setters and getters
00044     virtual void setActivityLevel(double a) {
00045         _activityLevel = a;
00046     }
00047 
00048     virtual double activityLevel() const {
00049         return _activityLevel;
00050     }
00051     
00052     virtual void setGain(double g) {
00053         _gain = g;
00054     }
00055 
00056     virtual double gain() const {
00057         return _gain;
00058     }
00059     
00060     virtual void setIndex(int i) {
00061         _index = i;
00062     }
00063 
00064     virtual int index() const {
00065         return _index; 
00066     }
00067     
00068     virtual bool muted() {
00069         return _muted;
00070     }
00071     
00072     virtual void setName(std::string name) {
00073         _name = name;
00074     }
00075 
00076     virtual const std::string& name() const { return _name; }
00077     
00078     virtual void setRate(int r);
00079 
00080     virtual int rate() const {
00081         return _rate;
00082     }
00083     
00084     virtual void setSilenceLevel(double s) {
00085         _silenceLevel = s;
00086     }
00087     
00088     virtual double silenceLevel() const {
00089         return _silenceLevel;
00090     }
00091     
00092     virtual void setSilenceTimeout(int s) {
00093         _silenceTimeout = s;
00094     }
00095     
00096     virtual int silenceTimeout() const {
00097         return _silenceTimeout;
00098     }
00099     
00100     virtual void setUseEchoSuppression(bool e) {
00101         _useEchoSuppression = e;
00102     }
00103 
00104     virtual bool useEchoSuppression() const {
00105         return _useEchoSuppression;
00106     }
00107     
00108 private:
00109 
00110     double _activityLevel;
00111     double _gain;
00112     int _index;
00113     bool _muted;
00114     std::string _name;
00115     int _rate;
00116     double _silenceLevel;
00117     int _silenceTimeout;
00118     bool _useEchoSuppression;
00119 };
00120 
00121     
00122 } // gnash.media.haiku namespace
00123 } // gnash.media namespace 
00124 } // gnash namespace
00125 
00126 #endif