0
Fixed

MP3 stream buffering on 2.1.7 in Android 2.2

Bryan 7 years ago • updated by Jona (Lead Developer) 4 years ago 2

I have noticed that when using the following stream on Android 2.2:

http://2503.live.streamtheworld.com:80/KBZTFM_SC

That the stream starts almost immediately, even though I set buffering at 10000ms (10 sec). In Android 2.3.4, it takes about 10 seconds to buffer, then the stream starts...


The stream is way more choppy than when I was using it on  the AAC+ stream earlier.  On a par sometimes with RadioTime (and that's BAD)...

Answer

Answer
Fixed
Thanks for your feedback...  Have you tried the v2.1.8? I just released it.  Please do since a lot of changes have been made in this area.  Please let me know what you find.
Under review
Thanks for your feedback...  Have you tried the v2.1.8? I just released it.  Please do since a lot of changes have been made in this area.  Please let me know what you find.
I have done a bit of testing.  Some of it is not your apps fault, but CM 7.


OG Motorola Droid:


Tested on CM 6.1.2 (Android 2.2.1). Wifi/3G on Verizon network in Austin, TX

Streaming while on 3G: Perfect 98 out of 100.  With a 30 second pre-buffer, no skipping.  Buffering seems to work correctly this time around, and I see the percentage go up.  Drove to work this morning, road with many hills/valleys, and no loss of connection or buffering...

Streaming while on Wi-fi: 10 of 100.  Pre-buffer gets up to around 70-80%, then the connection mysteriously dies.  When I was able to get a connection and stream, it would play for about 30 secs, then re-buffer, or try to re-buffer, and then 'unable to connect'. Home network is fine, I can surf the web on my Droid with no issues, just the streaming. 



ViewSonic G tablet:

Tested on CM 7.0.2 (Android 2.3.3), only has Wi-fi

Streaming while on wi-fi: 100 out of 100:  hours of music with no issues.  no skipping, no issues.

That being said...  AAC  does not work on Xiialive 2.1.8 with Android 2.3.3, so if you are on nightlies of your favorite ROM and it's not Android 2.3.4 (Gingerbread) or greater, you are still out of luck, or you'll have to downgrade to 2.2 (Froyo).

Was using this link to stream AAC content: http://www.phantom.ie/now/phantom64aac.pls

For MP3 streaming, was using the link in the original post:  http://2503.live.streamtheworld.com/KBZTFM_SC

One other thing.  You have a 'pre'-buffer, and a 'buffer'... why would I want a pre-buffer of 30 secs, if the playing buffer is only 10 secs max.  Can't you make the playing buffer longer, because your app loses that large buffer after it is playing, doesn't it?  If not, then what is the 'buffer setting for?





Thanks for the long feedback! It's great :)

About the buffering question. Well internally the actual buffer is elastic, meaning it grows as needed internally.  The buffer settings you see for pre-buffer and buffer mean the following. 

pre-buffer length:
Gather this much music than start playback.

buffer length:
In case of data starvation playback is paused and it will only be resumed once it reaches the set estimated playback length, which is the buffer length.

So prebuffer is only valid at the start of the stream once you are playing this value is no longer looked at.  Once the player drops into buffering state it will get out once it gathers the buffer length.

Let me know if I made sense or not :P
Answer
Fixed
Thanks for your feedback...  Have you tried the v2.1.8? I just released it.  Please do since a lot of changes have been made in this area.  Please let me know what you find.