-
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
[LiveEffect] No audio output on a One Plus One running Android 4.4.4 (CyanogenMod) #203
Comments
Thanks for the report. Is your "OnePlus One" running a Cyanogen Mod version of KitKat?
600 frames at 48000 Hz is only 12.5 msec. That seems unrelated to the 10 second hang. It is common when using input and output streams to lose a few frames while the streams are getting synchronized. The key issue is that it hangs when starting a stereo stream but not a mono stream.
That would be extremely helpful. Thank you. We can't fix KitKat at this point. But we may be able to add a workaround in Oboe, like do mono-to-stereo conversion. |
Thanks for your answer!
Yes it is! Here are some additional details about the phone I used for the test:
Sorry I should have been more clear in my original post. When I mentioned the 600 frames, I meant 600 display frames and not 600 audio frames. I got those numbers from the
From my understanding, the call to |
I have just tested on a Nexus 5 running Android 4.4.4, and the LiveEffect sample works as expected. No freezes when clicking on the Start button, and the audio output works correctly. Here are the logs:
|
I have just tested on a HTC One running Android 4.4.4 (CyanogenMod): no freezes when clicking on the start button, but the audio output does not work correctly. There is no audio output. Here are the logs:
Forcing the input/output channel counts to |
I have just tested the LiveEffect sample on a Samsung S4 Zoom running Android 4.4.2: everything works as expected. No freezes when clicking on the Start button, and the audio output works correctly.
|
Need to add the following to oboe: If cyanogenmod and 4.4.4 and channel count is unspecified: |
Add |
Sorry, this is going to affect such a small number of users I'm going to close it as "wont fix" |
The sample LiveEffect does not seem to work as expected on a One Plus One running Android 4.4.4.
After pressing the "start" button, the UI freezes for ~10 seconds and when the "stop" button finally appears, there is no audio output.
Here are the logs:
According to the Choreographer, ~600 frames were skipped. I have tried to identify the source of the freeze, and I have narrowed it down to the
(*mRecordInterface)->SetRecordState(mRecordInterface, newState)
call.In the file
AudioInputStreamOpenSLES.cpp
, inside theAudioInputStreamOpenSLES::setRecordState
method, I have added the following lines:output:
That's about 10 seconds, that could explain the ~600 frames skipped.
Note: If I force the input and the output channel count to
oboe::ChannelCount::Mono
, the UI does not freeze and the "live effect" can be heard.In file
LiveEffectEngine.h
:Here are the logs when the channel counts are forced to
oboe::ChannelCount::Mono
:No frames skipped and the audio output works as expected.
I will try to test the LiveEffect sample on other devices running Android KitKat to see if I can reproduce it.
The text was updated successfully, but these errors were encountered: