google / google/oboe

Very low input level using Low Latency and Generic input profile on Galaxy S8

Open
#728 6 comments 1 reaction 1 assignee Claimed by @evan-manyhats View on GitHub
bug input_preset Samsung
Dominant language
C++
Stars
4.1k
Forks
639
Avg merge
2d 23h
Merged PRs (30d)
8

Description

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:

1. `PerformanceMode::None` and `InputPreset::Generic`
2. `PerformanceMode::LowLatency` and `InputPreset::Generic`
3. `PerformanceMode::None` and using the default `InputPreset::VoiceRecognition`
4. `PerformanceMode::LowLatency` and using the default `InputPreset::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.)

![image](https://user-images.githubusercontent.com/55164381/70891053-508c8600-1f9b-11ea-8cd0-24f9f4795488.png)

This might be related to #722 and/or #572 .

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.