- D&#x2F;audio_hw_primary: in_set_parameters: enter: kvpairs=input_source=1;routing=-2147483644
- D&#x2F;PermissionCache: checking android.permission.MODIFY_AUDIO_SETTINGS for uid=10286 =&gt; granted (432 us)
- D&#x2F;audio_hw_primary: in_set_parameters: enter: kvpairs=input_source=4;routing=-2147483584;format=1
- D&#x2F;audio_hw_primary: select_devices: out_snd_device(0: ) in_snd_device(283: voice-dmic-ef)
- D&#x2F;hardware_info: hw_info_append_hw_type : device_name = voice-dmic-ef
- D&#x2F;voice: voice_get_incall_rec_snd_device: in_snd_device(283: voice-dmic-ef) incall_record_device(283: voice-dmic-ef)<p>As you can see in the first line it is starting with MIC audio source input_source=1;routing=-2147483644.<p>Then, on the second line it does something and get granted android.permission.MODIFY_AUDIO_SETTINGS which is normal permission and my app has it too. This seems to be the most important part and it looks like all 3 are using JNI to do what ever they do to trigger streaming&#x2F;merging of VOICE_CALL audio source to MIC and record with standart AudioRecorder API<p>On the next line you see that audio hardware starting to mixing VOICE_CALL (input_source=4) even though they have opened MIC(1) audio source.<p>I have assumed they used something like<p>AudioManager.setParameters(&quot;key=value&quot;)
and tried many variations such as<p>AudioManager.setParameters(&quot;input_source=4;routing=-2147483584;format=1&quot;)
without any luck.