Open rpattabi opened 3 years ago
Thanks for reporting this. We should make the QuirksManager switch to a different InputPreset on these broken devices.
In QuirksManager, would it be done as board specific fix (Board: msm8953 Hardware: qcom) or only for this device model (sanders_n)? This insight will help us to come up with sensible defaults in our app.
Android version: 8.1.0 Android device: Moto G 5S+ (Board: msm8953 Hardware: qcom Build: OPS28.65-36-14 Fingerprint: motorola/sanders_n/sanders_n:8.1.0/OPS28.65-36-14/63857:user/release-keys) Oboe version: ee39453cb1637460f7c4321f9d4d7c4f63d544c0 App name used for testing: Shruti Carnatic Tuner and Our internal audio tests
Short description Moto G 5S+ gives digital silence for OpenSL input stream with preset
Unprocessed
.We get signal if we use AAudio with any input preset. We also get signal if we use OpenSL with other input presets such as
VoiceRecognition
,Generic
, andCamcorder
.Steps to reproduce As this issue is based on the report by our user, we couldn't ask her to run OboeTester. We were able to run our internal audio tests and arrived at the above conclusions. We are sure similar behavior can be observed through OboeTester.
Though OpenSL with
Unprocessed
gives digital silence, we were able to confirm that the callbacks happen correctly and in the timely manner.Expected behavior OpenSL input stream with
Unprocessed
input preset should provide signal.Actual behavior No signal (digital silence) in case of OpenSL input stream with
Unprocessed
.Device As mentioned above, the device is Moto G 5S+. It does not have MMap support. More details about the configuration we used:
Additional Context
Log for our internal audio test suite run is here. Please look for
preset=Unprocessed api=OpenSL channels=1
to locate the problem entries.If you look for
NativeTest
tag, they point to the different tests that we ran. For example, the following is where the particular test for this issue,InputStreamTest.inputShouldNotBeSilence
forOpenSL_Unprocessed
, starts here:log entry was broken due to the hack we had to use to log from gtest to logcat
Another test of this issue's interest,
InputStreamTest.capturesPlayedFreq
forOpenSL_Unprocessed
, starts here: