Por que demora tanto tempo para o MediaPlayer do Android preparar algumas transmissões ao vivo para reprodução?

Estou descobrindo grandes diferenças no tempo que o Android MediaPlayer leva para se preparar para a reprodução de transmissões ao vivo com diferentes transmissõe

Os dados concretos

Adicionei o log entre o prepareAsync () e o retorno de chamada onPrepared (MediaPlayer mp) e testei vários fluxos algumas vezes cada. Os tempos para cada fluxo foram muito consistentes (+/- um segundo), e aqui estão os resultados:

luxo de notícias @MPR: 27 segundos (http://newsstream1.publicradio.org:80/MPR stream de música clássica: 15 segundos (http://classicalstream1.publicradio.org:80/MPR O fluxo atual: 7 segundos (http://currentstream1.publicradio.org:80/PRI stream: 52 segundos (http://pri-ice.streamguys.biz/pri1

s testes foram realizados em um Nexus S com Android 2.3.4 em uma conexão 3G (~ 1100 Kbps

Reproduzir arquivos de áudio MP3 sem streaming não é um problem

Aqui estão alguns trechos de como estou reproduzindo os streams:

Prepare MediaPlayer:

...
mediaPlayer.setDataSource(playUrl);
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.prepareAsync();
...

Em seguida, no onPrepared (MediaPlayer mp):

mediaPlayer.start();

Por que demora tanto tempo para preparar alguns fluxos, mas outros não? Os dados acima parecem sugerir quepoderi seja baseado nomontant dos dados que foram armazenados em buffer e não oduraçã do conteúdo de áudio em buffer. Isso realmente pode ser?

Atualizar Testei a transmissão ao vivo em dispositivos físicos com Android 1.6, 2.2 e 2.3.4 e emuladores com 1.6, 2.1, 2.2, 2.3.1 e 2.3.3. Estou vendo apenas o longo atraso em 2.3.3 e 2.3.4. As versões mais antigas iniciam a reprodução em 5 segundo

questionAnswers(6)

yourAnswerToTheQuestion