eas_audioconst.h revision 7df30109963092559d3760c0661a020f9daf1030
17df30109963092559d3760c0661a020f9daf1030The Android Open Source Project/*----------------------------------------------------------------------------
27df30109963092559d3760c0661a020f9daf1030The Android Open Source Project *
37df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * File:
47df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * eas_audioconst.h
57df30109963092559d3760c0661a020f9daf1030The Android Open Source Project *
67df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * Contents and purpose:
77df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * Defines audio constants related to the sample rate, bit size, etc.
87df30109963092559d3760c0661a020f9daf1030The Android Open Source Project *
97df30109963092559d3760c0661a020f9daf1030The Android Open Source Project *
107df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * Copyright Sonic Network Inc. 2005
117df30109963092559d3760c0661a020f9daf1030The Android Open Source Project
127df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
137df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * you may not use this file except in compliance with the License.
147df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * You may obtain a copy of the License at
157df30109963092559d3760c0661a020f9daf1030The Android Open Source Project *
167df30109963092559d3760c0661a020f9daf1030The Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
177df30109963092559d3760c0661a020f9daf1030The Android Open Source Project *
187df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * Unless required by applicable law or agreed to in writing, software
197df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
207df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
217df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * See the License for the specific language governing permissions and
227df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * limitations under the License.
237df30109963092559d3760c0661a020f9daf1030The Android Open Source Project *
247df30109963092559d3760c0661a020f9daf1030The Android Open Source Project *----------------------------------------------------------------------------
257df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * Revision Control:
267df30109963092559d3760c0661a020f9daf1030The Android Open Source Project *   $Revision: 82 $
277df30109963092559d3760c0661a020f9daf1030The Android Open Source Project *   $Date: 2006-07-10 11:45:19 -0700 (Mon, 10 Jul 2006) $
287df30109963092559d3760c0661a020f9daf1030The Android Open Source Project *----------------------------------------------------------------------------
297df30109963092559d3760c0661a020f9daf1030The Android Open Source Project*/
307df30109963092559d3760c0661a020f9daf1030The Android Open Source Project
317df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#ifndef _EAS_AUDIOCONST_H
327df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#define _EAS_AUDIOCONST_H
337df30109963092559d3760c0661a020f9daf1030The Android Open Source Project
347df30109963092559d3760c0661a020f9daf1030The Android Open Source Project/*----------------------------------------------------------------------------
357df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * These macros define the various characteristics of the defined sample rates
367df30109963092559d3760c0661a020f9daf1030The Android Open Source Project *----------------------------------------------------------------------------
377df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * BUFFER_SIZE_IN_MONO_SAMPLES	size of buffer in samples
387df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * _OUTPUT_SAMPLE_RATE			compiled output sample rate
397df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * AUDIO_FRAME_LENGTH			length of an audio frame in 256ths of a millisecond
407df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * SYNTH_UPDATE_PERIOD_IN_BITS	length of an audio frame (2^x samples)
417df30109963092559d3760c0661a020f9daf1030The Android Open Source Project *----------------------------------------------------------------------------
427df30109963092559d3760c0661a020f9daf1030The Android Open Source Project*/
437df30109963092559d3760c0661a020f9daf1030The Android Open Source Project
447df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#if	defined (_SAMPLE_RATE_8000)
457df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#define BUFFER_SIZE_IN_MONO_SAMPLES		32
467df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#define _OUTPUT_SAMPLE_RATE 			8000
477df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#define AUDIO_FRAME_LENGTH				1024
487df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#define SYNTH_UPDATE_PERIOD_IN_BITS		5
497df30109963092559d3760c0661a020f9daf1030The Android Open Source Project
507df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#elif defined (_SAMPLE_RATE_16000)
517df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#define BUFFER_SIZE_IN_MONO_SAMPLES		64
527df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#define _OUTPUT_SAMPLE_RATE				16000
537df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#define AUDIO_FRAME_LENGTH				1024
547df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#define SYNTH_UPDATE_PERIOD_IN_BITS		6
557df30109963092559d3760c0661a020f9daf1030The Android Open Source Project
567df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#elif defined (_SAMPLE_RATE_20000)
577df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#define BUFFER_SIZE_IN_MONO_SAMPLES		128
587df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#define _OUTPUT_SAMPLE_RATE				20000
597df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#define AUDIO_FRAME_LENGTH				1638
607df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#define SYNTH_UPDATE_PERIOD_IN_BITS		7
617df30109963092559d3760c0661a020f9daf1030The Android Open Source Project
627df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#elif defined (_SAMPLE_RATE_22050)
637df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#define BUFFER_SIZE_IN_MONO_SAMPLES		128
647df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#define _OUTPUT_SAMPLE_RATE				22050
657df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#define AUDIO_FRAME_LENGTH				1486
667df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#define SYNTH_UPDATE_PERIOD_IN_BITS		7
677df30109963092559d3760c0661a020f9daf1030The Android Open Source Project
687df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#elif defined (_SAMPLE_RATE_24000)
697df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#define BUFFER_SIZE_IN_MONO_SAMPLES		128
707df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#define _OUTPUT_SAMPLE_RATE				24000
717df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#define AUDIO_FRAME_LENGTH				1365
727df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#define SYNTH_UPDATE_PERIOD_IN_BITS		7
737df30109963092559d3760c0661a020f9daf1030The Android Open Source Project
747df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#elif defined (_SAMPLE_RATE_32000)
757df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#define BUFFER_SIZE_IN_MONO_SAMPLES		128
767df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#define _OUTPUT_SAMPLE_RATE				32000
777df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#define AUDIO_FRAME_LENGTH				1024
787df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#define SYNTH_UPDATE_PERIOD_IN_BITS		7
797df30109963092559d3760c0661a020f9daf1030The Android Open Source Project
807df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#elif defined (_SAMPLE_RATE_44100)
817df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#define BUFFER_SIZE_IN_MONO_SAMPLES		256
827df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#define _OUTPUT_SAMPLE_RATE				44100
837df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#define AUDIO_FRAME_LENGTH				1486
847df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#define SYNTH_UPDATE_PERIOD_IN_BITS		8
857df30109963092559d3760c0661a020f9daf1030The Android Open Source Project
867df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#elif defined (_SAMPLE_RATE_48000)
877df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#define BUFFER_SIZE_IN_MONO_SAMPLES		256
887df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#define _OUTPUT_SAMPLE_RATE				48000
897df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#define AUDIO_FRAME_LENGTH				1365
907df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#define SYNTH_UPDATE_PERIOD_IN_BITS		8
917df30109963092559d3760c0661a020f9daf1030The Android Open Source Project
927df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#else
937df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#error "_SAMPLE_RATE_XXXXX must be defined to valid rate"
947df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#endif
957df30109963092559d3760c0661a020f9daf1030The Android Open Source Project
967df30109963092559d3760c0661a020f9daf1030The Android Open Source Project#endif /* #ifndef _EAS_AUDIOCONST_H */
977df30109963092559d3760c0661a020f9daf1030The Android Open Source Project
98