Skip to content
dylanPowers edited this page Nov 29, 2012 · 13 revisions

November 29th, 2012

Hey all, I've been at work trying to fix a bug in Android's MediaPlayer API that hinders the playback experience on Android 4.1 and greater devices. People who have phones running Jelly Bean represent an incredibly small minority of users, but I use Jelly Bean, so it matters!

Anyhow, my fix has been merged into the Android Open Source repositories and the patch should be on your device.....someday....

If you're the adventurous I-build-my-own-ROMs type then you can go ahead and cherry-pick the commit to get Pandoroid working correctly today.

-Dylan Powers

November 13th, 2012 - Updated 11/22/12

Today marks the release of Android version 4.2 into AOSP. Something that's interested me lately is how little care has been brought to Android's MediaPlayer API. Why have it exist if it's broken and doesn't work as documented? From my experience working on this project, the API seems to have never worked exactly as documented. The bad news is that it seems to be getting worse. Under Android 4.1, mp3 music files (this may be even true for all music files...I haven't tested yet) are no longer downloaded automatically when the prepare() command is sent. Instead they wait to download until the play() command is sent. That is a worthless hunk of garbage of an API. I thought originally these problems were related to CyanogenMod 10 on my phone, but I've booted up the emulator and the problems exist there too. With Android 4.2, the problem still exists. I find this rather unacceptable on Google's part. Hopefully I can possibly get a fix into CyanogenMod's sources, but that of course doesn't help anybody else running stock ROMs. For now we're going to have to live with what we got....

September 7th, 2012

If anyone is curious to know, I've slowed up development on this because of school starting up, and my various other commitments. This app has become my baby so I won't forget about it, and I'll continually do small updates here and there, but don't expect any major code rewrites like I was doing over the summer. As for an official 1.0 release, don't bother holding your breath until at least December when I get my winter break. If you were to wonder why I don't simply call what we got a 1.0 release, that is because in order for me to call it a 1.0 release I need it to be up to my own standards, and the current features need to be implemented to their maximum potential. That means, track skipping needs to be revamped so it isn't so slow, the playback engine needs to be both simplified and efficient, audio resume on network disconnects needs to work every time regardless of how unpredictable and crappy the internal MediaPlayer API is, etc, etc....all those little tiny bugs need fixed.

For now, the preview releases work great, and please share with your friends! It helps to motivate me :)

August 26th, 2012

Holy cow, I think Google finally fixed their flawed AAC decoder in Jelly Bean (Android 4.1)! I'm currently listening to the 64kbps MP4 stream on a recent build of CM10 (for my E4GT), and I'm no longer hearing any audio artifacts. It sure took them long enough! Unfortunately on the CM10 build I'm using, the buffering updates are broken, so the app doesn't work as well as it should :(

Clone this wiki locally