Gnash
0.8.10
|
00001 // AudioInputFfmpeg.h: Audio input base class 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_FFMPEG_H 00021 #define GNASH_AUDIOINPUT_FFMPEG_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 ffmpeg { 00032 00034 class AudioInputFfmpeg : public AudioInput 00035 { 00036 00037 public: 00038 00039 DSOEXPORT AudioInputFfmpeg(); 00040 00041 virtual ~AudioInputFfmpeg() {} 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 } // gnash.media.ffmpeg namespace 00122 } // gnash.media namespace 00123 } // gnash namespace 00124 00125 #endif