Very low input level using Low Latency and Generic input profile on Galaxy S8
Android Version(s): 9 Android Device(s): Samsung Galaxy S8 (SM-G950FD) Oboe Version: 1.2.0
Short Description
On Samsung Galaxy S8 running Android 9, enabling the LowLatency performance mode results in significantly lower volume on the input stream when using AAudio and the Generic input profile.
Steps To Reproduce I used the Oboe library to record an audio clip playing on a nearby speaker and wrote the input to a wav file, then measured its average volume. I repeated this process 4 times, using:
-
PerformanceMode::NoneandInputPreset::Generic -
PerformanceMode::LowLatencyandInputPreset::Generic -
PerformanceMode::Noneand using the defaultInputPreset::VoiceRecognition -
PerformanceMode::LowLatencyand using the defaultInputPreset::VoiceRecognition
Expected behavior
I expected the average volume of each recording to be similar.
Actual behavior
Using the Generic input profile, the input volume is significantly lower (barely audible) when using the LowLatency performance mode (-63 dB vs -29 dB).
Using the VoiceRecognition input profile, the input volume is consistent when setting the performance mode to either LowLatency or None (-42 dB in both cases). This is also notably quieter than using the Generic input profile without LowLatency.
Additional context
I also repeated these tests using a Huawei Nexus 6P running Android 8.1.0, and noted that the average input volume was consistent using any combination of the input profiles or performance modes.
The following is a summary of all of the tests on both devices. (Note that each test is duplicated with LowLatency either enabled or disabled on the output stream, which does not affect the input volume and can be ignored in this context.)

This might be related to #722 and/or #572 .
Thank you so much for the detailed bug report. It is much easier for us to take action when there is good information in the report.
I have filed a bug internally for Samsung. It is being tracked as b/146335827
Thanks @philburk !
I can add that we've replicated this issue on 3 Samsung devices: Galaxy S8, Galaxy A8, and Galaxy S10+.
We've also confirmed that the issue does not affect 2 non-Samsung phones: Nexus 6P and Pixel 3.
Also a similar problem on the Samsung J3. https://github.com/google/oboe/issues/722
Possibly related:
I've been testing with an S9 today and have been experiencing attenuation using certain input presets (see https://github.com/google/oboe/issues/1006), although not the same presets.
On this bug the S8 is reported to have the following quiet presets:
-
Generic -
VoiceRecognition
What I experienced on the S9 was almost the opposite. The following presets were quiet (or at least quieter):
-
Unprocessed -
Camcorder -
VoiceCommunication -
VoicePerformance
@evan-manyhats I'd like to understand this problem a bit more and have some questions:
- Is the input level so low as to be unusable for your use case? Or is it just that the volume is so different from the other presets that it makes configuring the app difficult?
- Out of all these presets which one makes most sense for your app?
- Can you provide the option to configure the gain manually?
Closing due to inactivity. Please add a comment if you are able to answer the questions above and we can reopen.