i have a very simple test app (see below), that simply tries to play a streamed audio file below over and over.
after running for about half an hour (the file itself is only like 3.5 minutes or so), I get the following error: 11-05 12:16:07.625: DEBUG/PlayerDriver(554): buffering (15) 11-05 12:16:07.635: DEBUG/PlayerDriver(554): buffering (16) 11-05 12:16:07.644: DEBUG/PlayerDriver(554): buffering (17) 11-05 12:16:07.654: DEBUG/PlayerDriver(554): buffering (18) 11-05 12:16:07.654: DEBUG/PlayerDriver(554): buffering (19) 11-05 12:16:07.724: ERROR/PlayerDriver(554): Command PLAYER_PREPARE completed with an error or info PVMFErrResource 11-05 12:16:07.724: ERROR/MediaPlayer(897): error (1, -17) 11-05 12:16:07.734: WARN/System.err(897): java.io.IOException: Prepare failed.: status=0x1 11-05 12:16:07.744: WARN/PlayerDriver(554): PVMFInfoErrorHandlingComplete 11-05 12:16:07.744: WARN/System.err(897): at android.media.MediaPlayer.prepare(Native Method) 11-05 12:16:07.744: WARN/System.err(897): at com.test.TestPlayer.onCompletion(TestPlayer.java:61) 11-05 12:16:07.754: WARN/System.err(897): at android.media.MediaPlayer$EventHandler.handleMessage(MediaPlayer.java: 958) 11-05 12:16:07.754: WARN/System.err(897): at android.os.Handler.dispatchMessage(Handler.java:99) 11-05 12:16:07.754: WARN/System.err(897): at android.os.Looper.loop (Looper.java:123) 11-05 12:16:07.754: WARN/System.err(897): at android.app.ActivityThread.main(ActivityThread.java:4203) 11-05 12:16:07.765: WARN/System.err(897): at java.lang.reflect.Method.invokeNative(Native Method) 11-05 12:16:07.765: WARN/System.err(897): at java.lang.reflect.Method.invoke(Method.java:521) 11-05 12:16:07.765: WARN/System.err(897): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:791) 11-05 12:16:07.775: WARN/System.err(897): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549) 11-05 12:16:07.775: WARN/System.err(897): at dalvik.system.NativeStart.main(Native Method) 11-05 12:28:34.884: DEBUG/dalvikvm(622): GC freed 9170 objects / 524208 bytes in 79ms 11-05 12:43:32.385: DEBUG/dalvikvm(576): GC freed 18161 objects / 795040 bytes in 126ms 11-05 12:43:36.334: DEBUG/dalvikvm(622): GC freed 9171 objects / 524248 bytes in 76ms It almost seems like some kind of resource leak or something. Does anyone have any ideas on what could be the problem? I am getting this in the simulator btw, so it's not like a dropped OTA signal. tia. ---- cut here ---- package com.test; import java.io.IOException; import android.app.Activity; import android.media.MediaPlayer; import android.media.MediaPlayer.OnBufferingUpdateListener; import android.media.MediaPlayer.OnCompletionListener; import android.media.MediaPlayer.OnErrorListener; import android.os.Bundle; import android.util.Log; public class TestPlayer extends Activity implements OnErrorListener, OnBufferingUpdateListener, OnCompletionListener { private MediaPlayer mp = new MediaPlayer(); /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); try { mp = new MediaPlayer(); mp.reset(); mp.setDataSource("http://blahblah.com/test.m4a"); mp.prepare(); mp.start(); mp.setOnErrorListener(this); mp.setOnBufferingUpdateListener(this); mp.setOnCompletionListener(this); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Override public boolean onError(MediaPlayer mp, int what, int extra) { Log.e("test", "onError: what: " + what + ", extra: " + extra); return false; } @Override public void onBufferingUpdate(MediaPlayer mp, int percent) { Log.i("test", "onBufferingUpdate: percent: " + percent); } @Override public void onCompletion(MediaPlayer mp) { try { mp.reset(); mp.release(); mp = null; mp = new MediaPlayer(); mp.reset(); mp.setDataSource("http://blahblah.com/test.m4a"); mp.prepare(); mp.start(); mp.setOnErrorListener(this); mp.setOnBufferingUpdateListener(this); mp.setOnCompletionListener(this); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } ---- cut here ---- -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en