package lilin.com.view; import android.content.Context; import android.opengl.GLSurfaceView; import android.util.AttributeSet; public class FFWlGLSurfaceView extends GLSurfaceView{ private FFWlRender wlRender; public FFWlGLSurfaceView(Context context) { this(context, null); } public FFWlGLSurfaceView(Context context, AttributeSet attrs) { super(context, attrs); setEGLContextClientVersion(2); wlRender = new FFWlRender(context); setRenderer(wlRender); setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY); //mediacodec wlRender.setOnRenderListener(new FFWlRender.OnRenderListener() { @Override public void onRender() { requestRender(); } }); } //yuv public void setYUVData(int width, int height, byte[] y, byte[] u, byte[] v) { if(wlRender != null) { wlRender.setYUVRenderData(width, height, y, u, v); requestRender(); } } //mediacodec public FFWlRender getWlRender() { return wlRender; } }