Skip to content

Commit b9809f4

Browse files
committed
use handler thread instead of the normal thread
Signed-off-by: Umair Khan <[email protected]>
1 parent 8c76920 commit b9809f4

File tree

1 file changed

+11
-9
lines changed
  • src/in/omerjerk/processing/video/android

1 file changed

+11
-9
lines changed

src/in/omerjerk/processing/video/android/Movie.java

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import android.media.MediaMetadataRetriever;
55
import android.media.MediaPlayer;
66
import android.os.Handler;
7+
import android.os.HandlerThread;
78
import android.os.Looper;
89
import android.os.Message;
910
import android.view.Surface;
@@ -22,14 +23,11 @@ public Movie(PApplet parent, String fileName) {
2223
String width = metaRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH);
2324
init(Integer.valueOf(width), Integer.valueOf(height), ARGB);
2425

25-
new Thread(new Runnable() {
26-
@Override
27-
public void run() {
28-
Looper.prepare();
29-
handler = new MediaPlayerHandler();
30-
Looper.loop();
31-
}
32-
}).start();
26+
HandlerThread backgroundThread = new HandlerThread("MediaPlayer");
27+
backgroundThread.start();
28+
handler = new MediaPlayerHandler(backgroundThread.getLooper());
29+
handler.setCallback(this);
30+
handler.sendMessage(handler.obtainMessage(MediaPlayerHandler.MSG_INIT_PLAYER));
3331
}
3432

3533
@Override
@@ -46,7 +44,11 @@ private class MediaPlayerHandler extends Handler {
4644

4745
MediaPlayerHandlerCallback callback;
4846

49-
public void setCallback (MediaPlayerHandlerCallback cb) {
47+
public MediaPlayerHandler(Looper looper) {
48+
super(looper);
49+
}
50+
51+
public void setCallback (MediaPlayerHandlerCallback cb) {
5052
this.callback = cb;
5153
}
5254

0 commit comments

Comments
 (0)