Android low latency OpenSLES: Recorder stop working on audio route change to speaker

428 views
Skip to first unread message

Vitaly Dyadyuk

unread,
May 23, 2016, 9:57:44 AM5/23/16
to android-ndk
I'm developing VoIP application using low latency fast path,the problem is that when I change the audio route to speaker I noticed that the recorder callback fires every 100ms instead of 5ms as it should work and the following error is generated:

    E/ACDB-LOADER(  183): Error: ACDB AudProc vol returned = -19
    D
/audio_hw_primary(  183): enable_snd_device: snd_device(32: speaker-mic)
    D
/audio_hw_primary(  183): enable_audio_route: apply and update mixer path: low-latency-record
    D
/audio_hw_primary(  183): disable_audio_route: reset and update mixer path: low-latency-record
    D
/audio_hw_primary(  183): disable_snd_device: snd_device(32: speaker-mic)
    E
/AudioFlinger(  183): read failed: framesRead=-2147483631
    D
/audio_hw_primary(  183): select_devices: out_snd_device(0: none) in_snd_device(32: speaker-mic)
    D
/msm8974_platform(  183): platform_send_audio_calibration: sending audio calibration for snd_device(32) acdb_id(11)
    D
/        (  183): Failed to fetch the lookup information of the device 0000000B
    E
/ACDB-LOADER(  183): Error: ACDB AudProc vol returned = -19
    D
/audio_hw_primary(  183): enable_snd_device: snd_device(32: speaker-mic)
    D
/audio_hw_primary(  183): enable_audio_route: apply and update mixer path: low-latency-record
    D
/audio_hw_primary(  183): disable_audio_route: reset and update mixer path: low-latency-record
    D
/audio_hw_primary(  183): disable_snd_device: snd_device(32: speaker-mic)
    E
/AudioFlinger(  183): read failed: framesRead=-2147483631
    D
/audio_hw_primary(  183): select_devices: out_snd_device(0: none) in_snd_device(32: speaker-mic)
    D
/msm8974_platform(  183): platform_send_audio_calibration: sending audio calibration for snd_device(32) acdb_id(11)
    D
/        (  183): Failed to fetch the lookup information of the device 0000000B
    E
/ACDB-LOADER(  183): Error: ACDB AudProc vol returned = -19
    D
/audio_hw_primary(  183): enable_snd_device: snd_device(32: speaker-mic)
    D
/audio_hw_primary(  183): enable_audio_route: apply and update mixer path: low-latency-record
    D
/audio_hw_primary(  183): disable_audio_route: reset and update mixer path: low-latency-record
    D
/audio_hw_primary(  183): disable_snd_device: snd_device(32: speaker-mic)
    E
/AudioFlinger(  183): read failed: framesRead=-2147483631
    D
/audio_hw_primary(  183): select_devices: out_snd_device(0: none) in_snd_device(32: speaker-mic)
    D
/msm8974_platform(  183): platform_send_audio_calibration: sending audio calibration for snd_device(32) acdb_id(11)
    D
/        (  183): Failed to fetch the lookup information of the device 0000000B
    E
/ACDB-LOADER(  183): Error: ACDB AudProc vol returned = -19
    D
/audio_hw_primary(  183): enable_snd_device: snd_device(32: speaker-mic)
    D
/audio_hw_primary(  183): enable_audio_route: apply and update mixer path: low-latency-record
    D
/audio_hw_primary(  183): disable_audio_route: reset and update mixer path: low-latency-record
    D
/audio_hw_primary(  183): disable_snd_device: snd_device(32: speaker-mic)
    E
/AudioFlinger(  183): read failed: framesRead=-2147483631
    D
/audio_hw_primary(  183): select_devices: out_snd_device(0: none) in_snd_device(32: speaker-mic)
    D
/msm8974_platform(  183): platform_send_audio_calibration: sending audio calibration for snd_device(32) acdb_id(11)
    D
/        (  183): Failed to fetch the lookup information of the device 0000000B
    E
/ACDB-LOADER(  183): Error: ACDB AudProc vol returned = -19
    D
/audio_hw_primary(  183): enable_snd_device: snd_device(32: speaker-mic)
    D
/audio_hw_primary(  183): enable_audio_route: apply and update mixer path: low-latency-record
    D
/audio_hw_primary(  183): disable_audio_route: reset and update mixer path: low-latency-record
    D
/audio_hw_primary(  183): disable_snd_device: snd_device(32: speaker-mic)
    E
/AudioFlinger(  183): read failed: framesRead=-2147483631



 - Device : Nexus 5 Android 5.0.1
 - Native buffer size 240 samples
   (shorts) 
 - Native frequency rate 48000 Hz  Player preset :   
   SL_ANDROID_STREAM_VOICE
 - Recorder Preset :    SL_ANDROID_RECORDING_PRESET_VOICE_COMMUNICATION
 - AudioManager on MODE_IN_COMMUNICATION

It's important to note that if the audio route stays on headset it works fine. 
Is any one knows what the problem?
Reply all
Reply to author
Forward
0 new messages