Open the OpenSL ES device for input
| 770 | |
| 771 | // Open the OpenSL ES device for input |
| 772 | SLresult openSLRecOpen(opensl_stream2 *p) { |
| 773 | SLresult result; |
| 774 | SLuint32 sr = p->sr; |
| 775 | SLuint32 channels = p->inchannels; |
| 776 | SLuint32 presetValue0 = p->microphoneSource_; |
| 777 | // default: SL_ANDROID_RECORDING_PRESET_VOICE_RECOGNITION; |
| 778 | SLuint32 presetValue = presetValue0; |
| 779 | SLuint32 presetSize = 2*sizeof(SLuint32); // intentionally too big |
| 780 | SMILE_MSG(3, "openslesSource: recording: slrecopen"); |
| 781 | if (channels){ |
| 782 | switch (sr){ |
| 783 | case 8000: |
| 784 | sr = SL_SAMPLINGRATE_8; |
| 785 | break; |
| 786 | case 11025: |
| 787 | sr = SL_SAMPLINGRATE_11_025; |
| 788 | break; |
| 789 | case 16000: |
| 790 | sr = SL_SAMPLINGRATE_16; |
| 791 | break; |
| 792 | case 22050: |
| 793 | sr = SL_SAMPLINGRATE_22_05; |
| 794 | break; |
| 795 | case 24000: |
| 796 | sr = SL_SAMPLINGRATE_24; |
| 797 | break; |
| 798 | case 32000: |
| 799 | sr = SL_SAMPLINGRATE_32; |
| 800 | break; |
| 801 | case 44100: |
| 802 | sr = SL_SAMPLINGRATE_44_1; |
| 803 | break; |
| 804 | case 48000: |
| 805 | sr = SL_SAMPLINGRATE_48; |
| 806 | break; |
| 807 | case 64000: |
| 808 | sr = SL_SAMPLINGRATE_64; |
| 809 | break; |
| 810 | case 88200: |
| 811 | sr = SL_SAMPLINGRATE_88_2; |
| 812 | break; |
| 813 | case 96000: |
| 814 | sr = SL_SAMPLINGRATE_96; |
| 815 | break; |
| 816 | case 192000: |
| 817 | sr = SL_SAMPLINGRATE_192; |
| 818 | break; |
| 819 | default: |
| 820 | return -1; |
| 821 | } |
| 822 | SMILE_MSG(3, "openslesSource: recording: sr constant = %i", sr); |
| 823 | // configure audio source |
| 824 | //SLDataLocator_IODevice loc_dev = {SL_DATALOCATOR_IODEVICE, SL_IODEVICE_AUDIOINPUT, |
| 825 | // SL_DEFAULTDEVICEID_AUDIOINPUT, NULL}; |
| 826 | SLDataLocator_IODevice loc_dev; |
| 827 | loc_dev.locatorType = SL_DATALOCATOR_IODEVICE; |
| 828 | loc_dev.deviceType = SL_IODEVICE_AUDIOINPUT; |
| 829 | loc_dev.deviceID = SL_DEFAULTDEVICEID_AUDIOINPUT; |
no outgoing calls
no test coverage detected