![]() |
![]() |
00001 /* --COPYRIGHT--,BSD 00002 * Copyright (c) 2010, Texas Instruments Incorporated 00003 * All rights reserved. 00004 * 00005 * Redistribution and use in source and binary forms, with or without 00006 * modification, are permitted provided that the following conditions 00007 * are met: 00008 * 00009 * * Redistributions of source code must retain the above copyright 00010 * notice, this list of conditions and the following disclaimer. 00011 * 00012 * * Redistributions in binary form must reproduce the above copyright 00013 * notice, this list of conditions and the following disclaimer in the 00014 * documentation and/or other materials provided with the distribution. 00015 * 00016 * * Neither the name of Texas Instruments Incorporated nor the names of 00017 * its contributors may be used to endorse or promote products derived 00018 * from this software without specific prior written permission. 00019 * 00020 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00021 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 00022 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 00023 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 00024 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 00025 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 00026 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 00027 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 00028 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 00029 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 00030 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00031 * --/COPYRIGHT--*/ 00032 00063 #ifndef ti_sdo_dmai_Sound_h_ 00064 #define ti_sdo_dmai_Sound_h_ 00065 00066 #include <xdc/std.h> 00067 00068 #include <ti/sdo/dmai/Dmai.h> 00069 #include <ti/sdo/dmai/Buffer.h> 00070 00073 00077 #define Sound_MAXDEVNAME 20 00078 00082 typedef enum { 00084 Sound_Std_OSS = 0, 00085 00087 Sound_Std_ALSA, 00088 00089 Sound_Std_COUNT 00090 } Sound_Std; 00091 00095 typedef enum { 00097 Sound_Mode_OUTPUT, 00098 00100 Sound_Mode_INPUT, 00101 00103 Sound_Mode_FULLDUPLEX, 00104 00105 Sound_Mode_COUNT 00106 } Sound_Mode; 00107 00111 typedef enum { 00113 Sound_Input_MIC, 00114 00116 Sound_Input_LINE, 00117 00118 Sound_Input_COUNT 00119 } Sound_Input; 00120 00124 typedef struct Sound_Object *Sound_Handle; 00125 00131 typedef struct Sound_Attrs { 00133 Int32 sampleRate; 00134 00136 Int channels; 00137 00139 Int32 leftGain; 00140 00142 Int32 rightGain; 00143 00145 Sound_Mode mode; 00146 00148 Sound_Input soundInput; 00149 00154 Sound_Std soundStd; 00155 00160 Int bufSize; 00161 } Sound_Attrs; 00162 00175 extern const Sound_Attrs Sound_Attrs_STEREO_DEFAULT; 00176 00189 extern const Sound_Attrs Sound_Attrs_MONO_DEFAULT; 00190 00191 #if defined (__cplusplus) 00192 extern "C" { 00193 #endif 00194 00204 extern Sound_Handle Sound_create(Sound_Attrs *attrs); 00205 00223 extern Int Sound_write(Sound_Handle hSound, Buffer_Handle hBuf); 00224 00241 extern Int Sound_read(Sound_Handle hSound, Buffer_Handle hBuf); 00242 00253 extern Int Sound_delete(Sound_Handle hSound); 00254 00255 #if defined (__cplusplus) 00256 } 00257 #endif 00258 00261 #endif /* ti_sdo_dmai_Sound_h_ */ 00262