Skip to content

Commit f8d1f0a

Browse files
committed
framebuffer will be initialized by the child classes
Signed-off-by: Umair Khan <[email protected]>
1 parent 71c24f0 commit f8d1f0a

File tree

3 files changed

+25
-15
lines changed

3 files changed

+25
-15
lines changed

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ public Capture(final PApplet parent, int width, int height) {
3939
height = 720;
4040
}
4141
init(width, height, ARGB);
42+
initalizeFrameBuffer();
4243

4344
activity.runOnUiThread(new Runnable() {
4445
@Override
@@ -78,6 +79,7 @@ public void onPause() {
7879
@Override
7980
public void onResume() {
8081
log("resume called");
82+
initalizeFrameBuffer();
8183
glView.queueEvent(new Runnable() {
8284
@Override
8385
public void run() {

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

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import java.io.IOException;
44

5+
import com.sun.xml.internal.ws.wsdl.writer.UsingAddressing;
6+
57
import in.omerjerk.processing.video.android.callbacks.MediaPlayerHandlerCallback;
68
import android.content.res.AssetFileDescriptor;
79
import android.media.MediaMetadataRetriever;
@@ -34,6 +36,8 @@ public Movie(PApplet parent, String fileName) {
3436
e.printStackTrace();
3537
}
3638

39+
initalizeFrameBuffer();
40+
3741
HandlerThread backgroundThread = new HandlerThread("MediaPlayer");
3842
backgroundThread.start();
3943
handler = new MediaPlayerHandler(backgroundThread.getLooper());
@@ -54,7 +58,9 @@ public void onPause() {
5458
}
5559

5660
@Override
57-
public void onResume() {}
61+
public void onResume() {
62+
initalizeFrameBuffer();
63+
}
5864

5965
private class MediaPlayerHandler extends Handler {
6066

@@ -92,6 +98,10 @@ public void initPlayer(AssetFileDescriptor afd) {
9298
player = new MediaPlayer();
9399
try {
94100
player.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
101+
System.out.println("texture id = " + mTextureId);
102+
while (mTextureId == 0) {
103+
Thread.sleep(100);
104+
}
95105
player.setSurface(new Surface(mSurfaceTexture));
96106
player.setLooping(looping);
97107
player.prepare();

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

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -61,13 +61,7 @@ public VideoBase(PApplet parent) {
6161
pg = (PGraphicsOpenGL)parent.g;
6262
// customTexture = new Texture(pg, width, height);
6363
// customTexture.invertedY(true);
64-
glView.queueEvent(new Runnable() {
65-
@Override
66-
public void run() {
67-
createSurfaceTexture();
68-
prepareFrameBuffers();
69-
}
70-
});
64+
7165
// pg.setCache(this, customTexture);
7266
activity = parent.getActivity();
7367
}
@@ -139,6 +133,17 @@ protected void prepareFrameBuffers() {
139133
throw new RuntimeException("Framebuffer not complete, status=" + status);
140134
}
141135
}
136+
137+
protected void initalizeFrameBuffer() {
138+
glView.queueEvent(new Runnable() {
139+
@Override
140+
public void run() {
141+
createSurfaceTexture();
142+
System.out.println("created surface texture");
143+
prepareFrameBuffers();
144+
}
145+
});
146+
}
142147

143148
@Override
144149
public void onFrameAvailable(final SurfaceTexture surfaceTexture) {
@@ -188,13 +193,6 @@ public void run() {
188193
}
189194

190195
public void resume() {
191-
glView.queueEvent(new Runnable() {
192-
@Override
193-
public void run() {
194-
createSurfaceTexture();
195-
prepareFrameBuffers();
196-
}
197-
});
198196
onResume();
199197
}
200198

0 commit comments

Comments
 (0)