ExoPlayer AudioTrack Stuttering

AndroidMp3AudiotrackExoplayer

Android Problem Overview


I have my own implementation of TrackRenderer for an mp3 decoder, that I integrated. When a lollipop device goes to standby and comes back, it's not always repeatable but the audio starts to stutter until I force stop the application.

In the beginning, I thought it was the decoder I implemented, so I tried comparing the file output between a stuttering track to a normal one. The files are identical, I then thought maybe it's taking too long to decode, so I increased the buffer size and called setPlayReady false, in order for the data to buffer. It stutters the same as if I didn't pause. I am currently thinking the issue is with either my implementation of an audio track or an OS bug. The bug only happens on Lollipop devices.

My TrackRenderer uses the same workflow as AudioTrackRenderer, with my own native implementation for the decoder for mp3 and not opus.

Android Solutions


Solution 1 - Android

I have seen similar behavior couple times and it was related to lowering cpu frequency for power saving. If you have rooted device you can try going to:

cd /sys/devices/system/cpu/

And for all cpu's you see (replace cpuX by cpu0, cpu1 and etc) do:

echo 1 > cpuX/online
echo performance > cpuX/cpufreq/scaling_governor

If this is the case then unfortunately I don't think you can easily workaround this problem.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionDaniel NurielView Question on Stackoverflow
Solution 1 - AndroidLLLView Answer on Stackoverflow