-
Notifications
You must be signed in to change notification settings - Fork 580
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Galaxy A15 - When InputPreset is set to VoiceCommunication, audio data from the microphone is blank. #2123
Comments
Although I have not been able to test this on my own, the same problem can occur on the following devices:
|
@KeigoHisazumiTest - Thanks for reporting this! Is the input stream using "MMAP" or "Legacy"? Try turning off the MMAP checkbox. Does that enable recording? Try changing mono/stereo. Any difference? |
The Galaxy S20+ uses "Exynos 990 (7 nm+) - Global The Galaxy A15 5G, SM-A156E uses "Mediatek Dimensity 6100+ (6 nm)" OnePlus 10 Pro uses "Qualcomm SM8450 Snapdragon 8 Gen 1 (4 nm)" So this does not seem to related to a specific chipset or HAL! |
I tried to reproduce this on a Nothing phone running U2.240628.0430 but it worked OK. |
@KeigoHisazumiTest - Is this intermittent or does it happen every time after a reboot? |
Hi, @philburk Thanks for investigating the issue. I am on the same development team as @KeigoHisazumiTest. He will not be able to answer for a while so I will answer for him.
The input stream uses MMAP.
It happens every time after factory resetting, but once it is resolved, it cannot be reproduced by simply rebooting the device. |
@tkksato - Thanks for the new information. I am trying to get a Samsung S20+.
Oh! That is interesting. On my Pixel phone it is Legacy.
Wow! That is a big clue. Not sure what it means but it means something. When the bug is happening, can you please enter on the host:
then attach the text file to this bug? Then when the bug has stopped happening do the same but create dumpsys_audio_good.txt |
I tried this on my personal Samsung Z Fold 4 on Android UP1A.231005.007 and I couldn't repro this after rebooting. I'm not factor resetting this phone to test this. |
jmtrivi says we should look for something like:
|
I was able to get a log of when the issue occurred. In addition, I am attaching a screenshot of that time. |
I tried turning off the MMAP checkbox, but the audio data remained empty as when it was on. |
I tried this on a Galaxy S20+5G running TP1A.220624.014 right after a factory data reset. Jiabin suggested that the mic may be left in a bad state after Hot Word training. |
From the screenshots above I can see that in both cases the MMAP was not used. Events log: recording activity received by AudioService It is interesting that we are seeing "rec update" and not "rec start". @tkksato - Could I ask another favor? Could you capture a different dumpsys WHILE the bug is happening and the audio is recording. You can just leave MMAP enabled. It won't make any difference.
Also have ever you seen this bug on Android 15? After a factory data reset, do you enable, or train the Hot Word detector? |
From the screenshot above, both were using legacy path. Even the MMAP checkbox is checked, MMAP was not used. If MMAP is used, the word next to MMAP checkbox after opening the stream should be |
@philburk @flamme I got media.audio_finger logs. dumpsys_audio_flinger_bad_mmap_on.txt |
I got the log before STOP RECORDING. I am attaching this as well. |
No problem at all! Thanks for sharing the dump of audio flinger! From the audio dump, the recording was not silenced by the framework. But there is no signal power history, which indicates that the data read from the HAL was all silence. But given it happened on couple different device/chipset/HAL implementation, I suspected there could be some command sent to the HAL that caused the HAL sending silent data.
|
Created internal bug b/383778808 for discussion. Will need to reproduce on our side and generate a full bugreport for further investigation. |
Android version(s): 14
Android device(s): Galaxy A15 (SM-A156E)
Oboe version: 1.9.0, 1.7.0
App name used for testing: OboeTester
Short description
On a Galaxy A15, when you select "RECORD AND PLAY" in OboeTester and the InputPreset is set to VoiceCommunication, the audio data coming from the input callback is empty.
Steps to reproduce
Expected behavior
Step4: VolumeBar is working
Step7: Can hear the audio
Actual behavior
Step4: VolumeBar not working
Step7: Cannot hear the audio
Device
Galaxy A15 (SM-A156E) - Android 14
ro.product.brand = samsung
ro.product.manufacturer = samsung
ro.product.model = SM-A156E
ro.product.device = a15x
ro.product.cpu.abi = arm64-v8a
ro.build.description = a15xnsdxx-user 14 UP1A.231005.007 A156EDXS1AXA4 release-keys
ro.hardware = mt6835
ro.hardware.chipname =
ro.arch =
| grep aaudio = [aaudio.mmap_exclusive_policy]: [2]
[aaudio.mmap_policy]: [2]
Any additional context
・Tried changing all the settings that can be made with OboeTester, but there was no improvement.
・Checked the audio data variables immediately after the callback was called, and they were all set to 0.
https://github.com/google/oboe/blob/main/src/common/AudioStream.cpp#L62
・When InputPreset was set to anything other than VoiceCommunication(such as VoiceRecognition), audio data was received.
・Able to make calls using a voice calling app (FaceBook Messanger) that uses the oboe.
・Particularly noteworthy once we use FaceBook Messenger, the problem does not reoccur on OboeTester.
・The problem reoccurred after resetting the device.
The text was updated successfully, but these errors were encountered: