title: MediaPlayer Framework on GingerBread and Apple's HTTP Live Streaming Support
body: <p>According to the release notes, StageFright replaces the OpenCore framework in the GingerBread release. It seems that there have been numerous discussion that says: Apple's HTTP Live streaming is supported by default since Android 2.3. Even the <a href="http://en.wikipedia.org/wiki/Android_(operating_system)#Features" rel="noreferrer">Wikipedia</a> mentions this.<br>
  However, when I try to run the <a href="http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8" rel="noreferrer">test stream</a> provided by Apple using the  <code>MediaPlayerDemo_Video.java</code> bundled with API Demos I get the
  following exceptions: </p>
  
  <pre><code>setDataSource('http://devimages.apple.com/iphone/samples/bipbop/gear1/
  prog_index.m3u8')
  connect to devimages.apple.com:80/iphone/samples/bipbop/gear1/
  prog_index.m3u8 @0
  INFO/NuCachedSource2(34): ERROR_END_OF_STREAM
  error (1, -2147483648)
  ERROR/MediaPlayerDemo(667): error: Prepare failed.: status=0x1
  java.io.IOException: Prepare failed.: status=0x1
  at android.media.MediaPlayer.prepare(Native Method)
  at
  com.video.stream.MediaPlayerDemo_Video.playVideo(MediaPlayerDemo_Video.java:
  125)
  at
  com.video.stream.MediaPlayerDemo_Video.surfaceCreated(MediaPlayerDemo_Video.java:
  181)
    ...
      surfaceChanged called
      Displayed com.video.stream/.MediaPlayerDemo_Video: +1s652ms (total
      +7s427ms)
      GC_EXPLICIT freed 2K, 55% free 2514K/5511K, external 716K/1038K,
      paused 183ms
      GC_EXPLICIT freed 17K, 52% free 2782K/5767K, external 716K/1038K,
      paused 87ms
      GC_EXPLICIT freed 68K, 50% free 2972K/5895K, external 2544K/3109K,
      paused 104ms
      request time failed: java.net.SocketException: Address family not
      supported by protocol 
  </code></pre>
  
  <p>---relevant code(MediaPlayerDemo_Video.java):</p>
  
  <pre><code>path = "http://devimages.apple.com/iphone/samples/bipbop/gear1/
  prog_index.m3u8";
  mMediaPlayer = new MediaPlayer();
  mMediaPlayer.setDataSource(path);
  mMediaPlayer.setDisplay(holder);
  mMediaPlayer.prepare();
  mMediaPlayer.setOnBufferingUpdateListener(this);
  mMediaPlayer.setOnCompletionListener(this);
  mMediaPlayer.setOnPreparedListener(this);
  mMediaPlayer.setOnVideoSizeChangedListener(this);
  mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
  </code></pre>
  
  <p>Questions:<br>
  1. Does GingerBread build really support Apple's HTTP Live Streaming
  protocol?<br>
  2. What went wrong above?</p>
  
  <p>Please help. </p>