+40
Fixed

Issues with AAC+ streams on Android 2.3

David Wollmann 13 years ago updated by Jona (Lead Developer) 12 years ago 45
AAC+ playback doesn't work on Nexus S Gingerbread. Symptom is connect/disconnect several times, then it gives up. No playback at all.
Samsung

Answers

Answer
Fixed

After investigating the issue it appears that this is an issue with Android. AAC streams are played over RTSP and currently Android 2.3 seems to have broken RTSP functionality. Please see the following link:
http://code.google.com/p/android/issues/detail?id=13715

We are waiting for further response from the Android Team.


Update 05/05/11:

Seems like the AAC issue with Android 2.3 have been resolved on the next upcoming update 2.3.4. Thanks to everyone that confirmed this.

+2
PINNED
We are actually working on our own streaming engine... We have a very talented developer working on a highly optimized streaming engine. Our ETC highly depends on the developer working on it. But from his status everything seems to be in great progress so possibly this month we will release beta version of the app... You can stay posted under our facebook or twitter account.
Same here on a HTC Legend with Android 2.3 (CynanogenMOD 7). See also http://forum.xda-developers.com/showthread.php?p=10324353&highlight=aac#post10324353 to get a logcat-output of this problem.
Thanks for the link... I checked the logs and yeah they are the same as the issues I'm seeing on the emulator... Something wrong with the media framework on Android... :( I hope they fix it soon.
+1
I am noticing more audio programs like radiotime and A Online Radio including their own decoders (using libmad and libfaad). I have been able to flash CM7 builds and use the Mplayer program, but I miss using XiiaLive (mainly because the GUI is infinitely better). Are you guys working on an update to cope with these issues, or are we stuck? Because this looks not very high on the 'to-do' list...
We are actually working on using the ffmpeg library to stream everything it supports. I hope to have a beta sometime this month. To us this is extremely high priority! Android Media framework is getting incredibly out of hand and it's just waist of time trying to patch every time a new Android release is put out. So in short yes, we are working on a new stream engine that doesn't depend on the poor Android Media Framework.
You contact me if you need a tester. I use XiiaLive probably 10 hours a day every day to stream all kinds of stuff (shoutcast, AAC/AAC+, MP3, streams from VLC server at home, etc). If you use FFMPEG, will you have to share all the code you use because of the *GPL? Ooh, using FFMPEG will allow you to stream the ASF streams I've been hoping to see, and I can finally uninstall Radiotime. Last thing, do you have a 'donate' button if we want to send you guys some beer money your way?
haha.... :) thanks for your support! our paypal account is visualblasters@gmail.com. Thanks!
Any news on this? Is there a beta? If yes, where to get for testing?
The new streaming engine has been hard at work and has taken a long time to complete. The goal is to release it first supporting Window Media formats, that is mms/wma. Once that is used and tested we would add all other formats. Our estimated time for first beta release will be ends of March as of now.
so, you're fixing the aac/aac+ issue and adding support for mms/wma?
Nexus One downgraded to 2.3.3 yesterday, leaving AAC+ broken. Wish I'd seen this flaw before the downgrade, between that and the butchered UI, I never would have let it install this vile Gingerbread.
Apparently DI.FM has found a fix to the AAC Stream issue for their app.
yea, but their app appears to be crap. You can't put custom stations in the app, and I'm not really interested in buying ANOTHER streaming radio app... Come on Xiia devs... I needs me a beta of the new version or something...
+2
PINNED
We are actually working on our own streaming engine... We have a very talented developer working on a highly optimized streaming engine. Our ETC highly depends on the developer working on it. But from his status everything seems to be in great progress so possibly this month we will release beta version of the app... You can stay posted under our facebook or twitter account.
Is there any word on restoring AAC+/RTSP functionality to Gingerbread? Sucks that Google has to sabotage an excellent app with their poor quality assurance testing. Thanks for your hard work on this issue!
We have a new streaming lib hopefully next update we include it as beta.  This stream lib should do the trick for streaming AAC on 2.3.
Hi Jona,

Do we have an updated estimate of when the beta will be released to address the AAC+ streaming issue on Gingerbread?

I understand that the developers have been working hard to design a new streaming engine to avoid this problem in the future. Please pass along our gratitude to them. We are looking forward to the release candidate when it becomes available. Thanks!
I hope it is coming soon. I am holding off upgrading to Gingerbread due to this app only.
+1
Next update coming this month will have "beta" AAC support.  Beta because it won't have metadata and buffering might not be good...  This is because the new stream engine for windows media supports aac but we haven't concentrated resources to make that work flawlessly...  But the plan is to improve our own aac streamer which doesn't depend on Android media framework, thank God! :)
+1
A update on this issue for me 2.3.4 has fixed the issue for me ACC works fine now
Awesome! I will be upgrading to the latest nightly of CM7 (Build 60), and test this ASAP...
+1
I'm running OG Droid with nightly build 60 of CM7, and Xiialive 2.1.7.  I had an issue with it initially saying that I didn't pay for it, but that's over...

Now, the only issue is that, after less than 5 minutes, it will say "completed", like it was a finite stream...  and the stopping and buffering is much worse now (on par with Radio Time
Sweet! :) Thanks for the info! Did you install a custom ROM? or you got an official OTA?
I have a HD2 so no OTA for me. I used NexusHD2-Gingerbread V2.7 [GRJ22/Android2.3.4][Kernel:tytung_r10]
I am also seeing the completed issue with ACC in 2.3.4
AAC+ works fine with X10i (2.1) but it doesn't work at all on multiple 2.2 machines (Galaxy Tab, Optimus Virgin, G2x). All other formats work fine.
Still wondering when there's a fix for this.  XiaLive worked fine on my Sprint HTC Evo.  When they pushed out the latest update (you know, the one that broke PDANet), it also broke streaming on XiaLive and other streaming apps such as KCRW's own streaming app.  Very frustrating as I can't use my 4G phone or my PAID version of XiaLive for streaming audio.

No help from the Sprint support folks (surprise).  I'm hoping that the Xia developers would have more impact on either HTC, Sprint, or Google with Android that us little users who no one listens to.

So, for you Xia developers out there, here are the details of my phone so you can take up the fight:

phone:  Sprint HTC Evo (PC36100)
Android Version:   2.2
Baseband Version:  2.6.32.17-gee557fd htc-kernal@and18-2#15
Build Number:  3.70651.1 CL294884 release keys
Software Number: 3.70.651.1
BPRI Version 1.90_003
PRL Version 01115

There are no updates available and I'm not terribly interested in rooting my phone.  Any way to roll back the version without making myself succeptable to god-knows-what and without rooting?

Thanks!
Edge
It's OS issue and streamingfurious doesn't play aac+ streams on 2.2 and 2.3 platforms.
However, tunein radio and antplayer work fine (both uses independent streaming engine), so if xiialive can use independent streaming engine it will work.
Please following the following instruction Fix #2:

This has helped many resolve their issues. About our own streaming engine we have already started that and our first support for now is Windows Media content.
+1
New 2.1.9 has internal streaming engine and it can play streaming aac+ on "few" machines:
Tested on the device I have:
nexus one, NS, X10 are not included.
G2x: OK
Galaxy Tab: OK
MyTouch 4: choppy
Optimus Virgin: choppy

It appears if the device has decent 3D performance, it doesn't have problem. I guess this engine requires good FPU (floating point unit) which affects 3D performance.
Thanks for the test! Interesting the choppiness on those devices....  I hope we can soon resolve all this and make the internal engine the default one... :)
+1
Well, I've tested the new streaming engine in version 2.1.9 on my HTC Evo with Android 2.2.  Much to my surprise, it seems to work.  One suggestion, however.  It appears that the custom streaming engine is off by default and must be enabled in the settings.  You may want to switch that so it's on by default and must be disabled in settings.  Otherwise, some potential customers will think Xiia is crap, when it's actually Android that's crap.

:-)

joe

If you read my result, you may understand why it's off by default.
Some phones/tablets with good 3D rendering in quadrant seem to be running well. However, it's choppy with aac+ on some low end machines even MyTouch 4.
Nexus one and NS are not tested because they're upgraded to 2.3.4 so custom streaming engine is not required, so does X10i which runs on 2.1 that the platform doesn't have aac+ streaming problem.
Other streaming formats don't need customer streaming engine (you don't have to enable it if you don't have aac+ stream, or your platform is either 2.1 or 2.3.4 or higher).

Here only play aac using the new "Internal stream engine". But the Internal Stream Engine dont suport meta tags and uses high amount of cpu, decrasing battery life.

Samsung Galaxy 5 GT-i5500B - Android 2.2 Froyo
Everybody, here is a great news!
I just found the latest 2.2.1 on market and now it can play streaming aac+ without internal streaming engine enabled!!!
I tested it on Galaxy Tab and G2x and both work 100% with aac+ streams (wfuv 64k aac stream) without internal streaming engine.
+1

Yea, we know... if you have Facebook, like "DroidLive"... I've been using it for a couple of days...

Also, if you are running Android versions 2.3, 2.3.1, 2.3.2, or 2.3.3, your AAC+ streaming will still not work, and you'll have to use the internal encoder for AAC/AAC+ streaming.  2.3.4 fixes the audio framework issue, but it's still nice to have an internal coder, because the code (should?) be cleaner, and can be optimized more easily than the Android OS will be...

It appears there's no more hiccup on MyTouch 4 as it happened on previous version with streaming engine enabled. I will run Optimus Virgin and see is it OK.
FYI, I just got a new HTC Sensation, and while it is reporting 2.3.3 as Android version, with 2.2.1 of XiiaLive, and the internal decoder shut off, it streams AAC+. Not sure if they fixed the audio framework in this version of android that was distributed with the phone, but I tried a couple streams and they seemed to work just fine.
Also, the screen resolution isn't working right on this device, it has a qHD screen. XiiaLive takes up only 2/3 of it.
Thanks for the details. There have been a lot of work done on the streaming engine and part of that work was in the AAC streaming.  That could be the reason why now it works. :) In terms of the screen issue.  I'll be looking into that... Thanks!
It also has an issue with Galaxy Tab as the screen is 1024x600, to there are 4 black bars around the application.
Hopefully the next release will support more screen resolution (960x540, 1024x600)
Actually, upon further testing, the audio coming out of the phone when the internal decoder is off sounds terrible. AAC+ streams used to start out sounding 'hollow' and really bad, and after a second or so they would suddenly jump to the usual quality. With the phone's decoder, it sounds as if it's stuck in that first phase, sounding awful.

When I switched back to internal decoder, the sound was excellent as it should be. Not sure what the issue is, it's also frustrating because apparently even on 4G, it's not able to maintain a 40kbps stream for more than 15 seconds without rebuffering. Not sure if it's the network being horrible or something else...
Yes, the phones decoder is horrible most of the cases specially with Android 2.2 and lower.  We hope to have our own internal engine ready to be used as the default choice, we are optimizing and adding support for metadata.  Remember that MPEG and AAC support was naturally working on our FFMPEG implementation, so no optimization have been made yet. :)
After update to 2.2.2, the issue with high cpu usage and consume of battery continues with internal audio engine enabled into android 2.2 Froyo (Samsumg Galaxy 5 - GT5500)
Yes, correct, nothing should have changed with the Internal stream engine on update v2.2.2.  However we are planning that the next release be one that contains improvements for AAC and MPEG streams.
Answer
Fixed

After investigating the issue it appears that this is an issue with Android. AAC streams are played over RTSP and currently Android 2.3 seems to have broken RTSP functionality. Please see the following link:
http://code.google.com/p/android/issues/detail?id=13715

We are waiting for further response from the Android Team.


Update 05/05/11:

Seems like the AAC issue with Android 2.3 have been resolved on the next upcoming update 2.3.4. Thanks to everyone that confirmed this.