diff options
author | Liong Sauw Ming <ming@teluu.com> | 2017-01-17 04:28:39 +0000 |
---|---|---|
committer | Liong Sauw Ming <ming@teluu.com> | 2017-01-17 04:28:39 +0000 |
commit | fdc4c3a0f337e3405a0a72b2394250cc8e04020f (patch) | |
tree | f2692e177a594e4443d42d393e6f79d9f0cfef24 /pjsip-apps/src/pjsua/android/app/src/main/java/MainActivity.java | |
parent | add65569866b1cf587fc1ec57917bae0371dfeb9 (diff) |
Re #1945 (misc): Fixed occasional crash in pjsua Android sample app when initializing OpenGL renderer (crash in init_opengl()->ANativeWindow_setBuffersGeometry()). It doesn't happen in pjsua2 sample app.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@5525 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip-apps/src/pjsua/android/app/src/main/java/MainActivity.java')
-rw-r--r-- | pjsip-apps/src/pjsua/android/app/src/main/java/MainActivity.java | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/pjsip-apps/src/pjsua/android/app/src/main/java/MainActivity.java b/pjsip-apps/src/pjsua/android/app/src/main/java/MainActivity.java index 927a70b6..b3e7e458 100644 --- a/pjsip-apps/src/pjsua/android/app/src/main/java/MainActivity.java +++ b/pjsip-apps/src/pjsua/android/app/src/main/java/MainActivity.java @@ -138,6 +138,17 @@ public class MainActivity extends Activity implements SurfaceHolder.Callback { ui.sendMessageDelayed(msg, 100); } } + + @Override + public void onCallVideoStart() { + MainActivity ma = ((MyHandler)ui_handler.get()).mTarget.get(); + SurfaceView surfaceView = (SurfaceView) + ma.findViewById(R.id.surfaceViewIncomingCall); + + WindowHandle wh = new WindowHandle(); + wh.setWindow(surfaceView.getHolder().getSurface()); + pjsua.setVideoWindow(wh); + } } private void updateStatus(String output) { @@ -261,17 +272,21 @@ public class MainActivity extends Activity implements SurfaceHolder.Callback { public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) { - pjsua.setIncomingVideoRenderer(holder.getSurface()); + WindowHandle wh = new WindowHandle(); + wh.setWindow(holder.getSurface()); + pjsua.setVideoWindow(wh); } public void surfaceCreated(SurfaceHolder holder) { - pjsua.setIncomingVideoRenderer(holder.getSurface()); + } public void surfaceDestroyed(SurfaceHolder holder) { - pjsua.setIncomingVideoRenderer(null); + WindowHandle wh = new WindowHandle(); + wh.setWindow(null); + pjsua.setVideoWindow(wh); } } |