blob: 7191b1cb55b1f2de5bbc4549d294e274178cf31f [file] [log] [blame]
package org.webrtc.capturemoduleandroidtest;
import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;
import org.webrtc.capturemoduleandroidtest.R;
import org.webrtc.videoengine.ViERenderer;
import android.app.Activity;
import android.opengl.GLSurfaceView;
import android.os.Bundle;
import android.util.Log;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
public class VideoCaptureModuleTest
extends Activity implements OnClickListener {
// Set to 1 if OpenGL shall be used. 0 Otherwise
private final int _useOpenGL=1;
private Thread _testThread;
private SurfaceView _view=null;
private VideoCaptureModuleTest _thisPointer;
private VideoCaptureJavaTest _videoCaptureJavaTest;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final Button buttonStartCP = (Button) findViewById(R.id.Button01);
buttonStartCP.setOnClickListener(this);
final Button buttonStartJava = (Button) findViewById(R.id.Button02);
buttonStartJava.setOnClickListener(this);
final Button buttonStartCPP = (Button) findViewById(R.id.Button03);
buttonStartCPP.setOnClickListener(this);
final Button buttonStopCPP = (Button) findViewById(R.id.Button04);
buttonStopCPP.setOnClickListener(this);
}
private Runnable _testProc = new Runnable() {
public void run() {
// TODO: choose test from GUI
// Select test here, 0 for API test, 1-> for Func tests
RunTest(_view);
}
};
@Override
protected void onStart()
{
super.onStart();
}
@Override
protected void onRestart()
{
super.onRestart();
}
@Override
protected void onPause()
{
super.onPause();
}
@Override
protected void onStop()
{
super.onStop();
}
// Function used to call test
private native int RunTest(Object view);
private native int RenderInit(Object view);
private native int StartCapture();
private native int StopCapture();
static {
Log.d("*WEBRTC*",
"Loading ModuleVideoCaptureModuleAndroidTest...");
System.loadLibrary(
"ModuleVideoCaptureModuleAndroidTestJniAPI");
}
public void onClick(View v) {
//get the handle to the layout
LinearLayout renderLayout=(LinearLayout) findViewById(R.id.renderView);
switch(v.getId())
{
case R.id.Button01:
renderLayout.removeAllViews();
_view=ViERenderer.CreateLocalRenderer(this);
if(_useOpenGL==1)
{
_view= ViERenderer.CreateRenderer(this, true);
}
else
{
_view= new SurfaceView(this);
}
// add the surfaceview to the layout,
// the surfaceview will be the same size as the layout (container)
renderLayout.addView(_view);
RenderInit(_view);
_testThread = new Thread(_testProc);
_testThread.start();
break;
case R.id.Button02:
_view=ViERenderer.CreateLocalRenderer(this);
renderLayout.removeAllViews();
if(_videoCaptureJavaTest==null)
{
_videoCaptureJavaTest=new VideoCaptureJavaTest();
_videoCaptureJavaTest.StartCapture(this);
// add the surfaceview to the layout,
// the surfaceview will be the same size as the layout (container)
renderLayout.addView(_view);
}
else
{
_videoCaptureJavaTest.StopCapture();
_videoCaptureJavaTest=null;
}
break;
case R.id.Button03:
_view=ViERenderer.CreateLocalRenderer(this);
renderLayout.removeAllViews();
StartCapture();
// add the surfaceview to the layout,
// the surfaceview will be the same size as the layout (container)
renderLayout.addView(_view);
break;
case R.id.Button04:
renderLayout.removeAllViews();
StopCapture();
break;
}
}
}