Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.eyeball.sipcontact;
- import android.content.Context;
- import android.graphics.SurfaceTexture;
- import android.util.Log;
- import android.view.TextureView;
- public class GLVideoTextureView extends TextureView implements TextureView.SurfaceTextureListener {
- private static boolean VERBOSE = true; // enable heavy logging
- private static final String TAG = GLVideoTextureView.class.getSimpleName();
- private VideoRenderer mVideoRenderer;
- private static native void OpenGLResize(int width, int height);
- private static native void OpenGLRender();
- private static native void OpenGLPause(boolean pause);
- public GLVideoTextureView(Context context) {
- super(context);
- setSurfaceTextureListener(this);
- mVideoRenderer = new VideoRenderer();
- }
- @Override
- public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) {
- Log.d(TAG, "onSurfaceTextureAvailable(" + width + " x " + height + ")");
- mVideoRenderer.start();
- }
- @Override
- public void onSurfaceTextureSizeChanged(SurfaceTexture surface, int width, int height) {
- Log.d(TAG, "onSurfaceTextureAvailable(" + width + " x " + height + ")");
- OpenGLResize(width, height);
- }
- @Override
- public boolean onSurfaceTextureDestroyed(SurfaceTexture surface) {
- Log.d(TAG, "onSurfaceTextureDestroyed");
- return false;
- }
- @Override
- public void onSurfaceTextureUpdated(SurfaceTexture surface) {
- // TODO Auto-generated method stub
- }
- private static class VideoRenderer extends Thread {
- @Override
- public void run() {
- OpenGLRender();
- }
- };
- }
Advertisement
Add Comment
Please, Sign In to add comment